frontpage正则查找替换
替换时匹配的字符用\1 \2 \3表示
第 N 个标记表达式
\N 在“替换”表达式中,\N 插入由第 N 个标记表达式指定的文本,其中 N 是 1 到 9 的数字。
\0 插入整个“查找”表达式指定的文本。
例子: 2016-01-12 查找:b2:d^3-:d^2-:d^2:b
20分钟 查找:b:z分钟:b
[BBC-123] 试验 查找^\[:w[-|
]:z\]:b 行首,多个字母
-或空格 整数,空格
<tr...><tr...><th...>
查找:<{(t|/t)}{[rdh]}.@>
替换:<\1\2>
<div...>...</div> 查找:<(d|/d)iv.@>
替换:
[abc-789]或[Cd
12.3] 查找:\[[
-`]@\] 可显示Ascii码【空-`】
abc123替换为def123 查找: abc{.*}
替换: def\1
任何字符【.】 零或多个(多)【*】 一或多个(多)【+】 零或多个(少)【@】 一或多个(少)【#】
标记的表达式,大括号对【{abc}】 第5个标记表达式【\5】
组表达式【(abc)】例:(abc)^2为abcabc
字符集【[0-9a-z]】 或选择【|】 非匹配【~x】 转义特殊字符 【\】
换行符【\n】 制表符【\t】
任何一个不属于该集合的字符 【[^]】 例:非123和大写字母[^123A-Z]
重复表达式 【^n】 例:4位数字[0-9]^4
字母数字字符【:a】 空格【:b】 字母字符【:c】 有理数【:n】 十进制数【:d】 十六进制数【:h】 十进制整数【:z】
字母字符串【:w】 程序标识符【:i】 引号引起的字符串【:q】
行首【^】 行尾【$】 文件开头【^^】 文件末尾【$$】
下表说明了 FrontPage 的正则表达式和相关的语法。
表达式 |
语法 |
说明【黑中括号内部为有效字符,中括号为醒目用】 |
任何一个字符 |
【.】 |
作为通配符,可匹配除换行符 (/n) 以外的任何单个打印或非打印字符。 例如,正则表达式c.t可匹配 cat、c t、cot 等字符串,但不匹配 cost。本例中,句号 (.) 是一个代表单个字符的通配符。它出现在字母 'c' 和 't' 之间,因此,字符 'c' 和 't' 之间的任何单个字符都与表达式匹配—— 即使是空格也一样。 |
零个或多个(最多) |
【*】 |
匹配此表达式前一字符的零次或多次出现,可匹配尽可能多的字符。 例1【.*】可匹配0个字符,任意一个字符 ,或任意多个不同字符。 如【b.*k】可以匹配 book、back、black、buck。表示在 'b' 和 'k' 间可重复出现任何字符。 本例中,(.*)表示任意字符出现0次或多次。 句号 (.) 是 'b' 和 'k' 之间字符的通配符。 星号 (*) 匹配 'b' 和 'k' 间任何字符的零次或多次出现。 例2【to*】,可匹to(0个o),too(1个o),tooo(2个o) |
一个或多个(最多) |
【+】 |
匹配此表达式前一字符的一次(含)或多次出现,匹配尽可能多的字符。 例1 【.+】 匹配 任意一个字符,任意多个不同字符。 bo【换行符】,bo.*可配,bo.+不可配(因为必须要一个,而一行已经结束了) 例2 【bo+.】可匹 bob、book 和 boot。 本例中,(+.)加号 (+) 匹配字母 'o' 的出现一次或多次出现。 句号 (.) 是每个单词最后一个字符的通配符,在本例中为 'b'、'k' 和 't'。 |
零个或多个(最少) |
【@】 |
匹配此表达式前一字符的零次或多次出现,可匹配尽可能少的字符。 例1:【.@】 匹配0个字符,任意一个字符 ,或任意多个不同字符出现。 例2: 【a.@x】 匹配 'abxbxb' 中的 'abx'(非abxbx) 和 'acxcxc' 中的 'acx'。 (.@)句号 (.) 是 'a' 和 'x' 之间字符 'b' 和 'c' 的通配符。 (@) 匹配 'a' 和 'x' 间任何字符零次或多次出现 |
一个或多个(最少) |
【#】 |
匹配此表达式前一字符的一次或多次出现,可匹配尽可能少的字符。 例如,正则表达式 si.#er 匹配 'sicker' 或 'silkier'。句号 (.) 与井字符 (#) 组合为一个语法。句号 (.) 后面紧接着井字符 (#) 表达式。井字符 (#) 匹配 'si' 和 'er' 之间任何字符的一次或多次出现。句号 (.) 是通配符,在单词 'sicker' 中代表字符 'c' 和 'k',在单词 'silkier' 中代表字符 'l'、'k' 和 'i'。 |
字符集 |
[ ] |
匹配括号([ ])内的任意一个字符。可用连字号(-)指定字符的范围,例如 [a-z]。 例如: 正则表达式 c[aou]t 可以匹配 cat、cot 和 cut,但不能匹配 cet 或 cit。 正则表达式 [0-9] 表示匹配任意一个数字。 也可以指定多个字母范围。正则表达式 [A-Za-z] 表示匹配所有大写和小写字母。 |
行首 |
【^】 |
将匹配定位于行首。 例如,正则表达式 【^When in】 匹配以“When in”作为开始且出现于行首的任何字符串,例如“When in the course of human events”或“When in town, call me”。然而,此正则表达式不匹配出现于行首的“What and when in the course of human events”。 |
行尾 |
$ |
将匹配定位于行尾。 例如,正则表达式 professional$ 可匹配字符串“He is a professional”,但却不匹配字符串“They are a group of professionals”。 |
文件开头 |
^^ |
将匹配定位于文件开头。仅适用于在源代码或文本文件中搜索文本。 例如,若要匹配文件开头的第一个 HTML 标记,可使用下列正则表达式:^^<html> |
文件末尾 |
$$ |
将匹配定位于文件末尾。仅适用于在源代码或文本文件中搜索文本。 例如,若要匹配文件末尾的最后一个 HTML 标记(标记后没有空格),可使用下列正则表达式:</html>$$ |
或者 |
【|】 |
表示在两项间进行选择,即匹配 OR 符号 (|) 前面或后面的表达式。 例如,正则表达式 (him|her) 匹配下列情况: “it belongs to him”和“it belongs to her” 但它不能匹配“it belongs to them”。 |
转义特殊字符 |
【/】 |
匹配反斜线 ( / ) 后面的字符。这样可允许您查找正则表达式语法中使用的字符(如左大括号 ({) 或插字号 (^))或其他一些特殊字符。 例如,可使用 /$ 匹配美元符号 ($) 而不会让正则表达式“定位于行尾”。同样,可使用表达式 /. 匹配句号 (.) 字符而不是任意单个字符(句号 (.) 表达式功能)。 |
标记的表达式 |
{} |
对与括号内表达式匹配的文本加标记。可以在“查找”表达式中匹配其他处的标记文本或者使用 /N 将标记文本插入“替换”表达式。 例如,假设您要查找连续出现两次的单词。若要搜索,请使用下列表达式:{.#} /1 假设连续出现的单词由一个空格隔开,则需要在右侧大括号与反斜线之间添加一个空格。 本例中,我们将带有大括号 ({}) 的井字符 (#) 与句号 (.) 组合为一个语法。在此表达式中,.# 表示任何连续的字符。由于表达式的此部分括有大括号 ({}),连续的字符可被标记起来并被指定为 /1。此表达式将查找跟随空格的任何连续字符,且其后紧接着完全相同的该字符序列。 |
第 N 个标记表达式 |
/N |
在“查找”表达式中,/N 匹配由第 N 个标记表达式指定的文本,其中 N 是 1 到 9 的数字。 在“替换”表达式中,/N 插入由第 N 个标记表达式指定的文本,其中 N 是 1 到 9 的数字。/0 插入整个“查找”表达式指定的文本。 例如,假设要查找连续出现两次的单词,并使用一个单词替换它们。若要搜索,请使用下列表达式:{.#} /l 假设连续出现的单词由一个空格隔开,则需要在右侧大括号与反斜线之间添加一个空格。本例中,我们将带有大括号 ({}) 的井字符 (#) 与句号 (.) 组合为一个语法。 若要替换,请使用下列表达式:/l /1 表示在查找字符串中第一个大括号部分找到的内容。通过在替换操作中使用 /1,实际上是将连续出现两次的单词替换为一个单词。 |
组表达式 |
( ) |
标记子表达式的开始和结束。 子表达式是包含在括号 ( ) 中的正则表达式,例如下列表达式:(ha)+。本例中,我们将带有括号组合 ( ) 的加号 (+) 组合为一个语法。此子表达式为 (ha),因为它包含在括号 ( ) 中。当您添加加号 (+) 时,该表达式可以查找重复的字母对。加号 (+) 表示重复出现一次或多次的 'ha'。 此表达式匹配下列情形:'haha' 和 'hahaha'。 |
防止匹配 |
~x |
当 x 出现在表达式的该位置时会防止匹配。 例如,正则表达式 real~(ity) 匹配 "realty" 和 "really" 中的 "real",但却不匹配 "reality" 中的 "real"。 |
换行符 |
/n |
匹配“代码”视图中的换行符或“设计”视图中的 <br>。 语法 (/n) 是匹配所有换行符的简便方法。 |
制表符 |
/t |
匹配单个制表符。 例如,如果要查找所有位于行首的制表符,可使用下列正则表达式: ^/t+ 本例中,我们将带有制表符 (/t) 的插字符 (^) 与加号 (+) 组合为一个语法。插字符 (^) 位于单个制表符字符表达式之前,用于匹配位于行首的所有制表符。加号 (+) 表示匹配一个或多个制表符字符。 |
任何一个不属于该集合的字符 |
[^] |
匹配任何一个不属于插字号 (^) 后面的字符集的字符。 例如,若要匹配范围之外的任何字符,可使用插字号 (^) 作为左侧中括号后面的第一个字符。表达式 [^269A-Z] 匹配除 2、6、9 和任何大写字母之外的所有字符。 |
重复表达式 |
^n |
匹配插字号 (^) 前面的表达式的 n 次出现。 例如,若 n 为 4,表达式 [0-9]^4 匹配任何 4 位数序列。在本例中,我们将字符集 ([ ]) 语法与重复 (^n) 语法组合以展示一个正则表达式的实用方法。 |
字母数字字符 |
:a |
匹配表达式 [a-zA-Z0-9]。 可以使用表达式 [a-zA-Z0-9] 匹配出现一次的字母(大写或小写)或数字。也称为字母数字序列。可使用简写表达式 :a 代替 [a-zA-Z0-9]。 |
空格 |
:b |
匹配代码或文本中的空格。 例如,若要匹配行首的单个空格字符,可使用下列正则表达式:^:b |
字母字符 |
:c |
匹配表达式 [a-zA-Z]。使用此表达式可匹配所有大写或小写字母。 可以使用简写表达式 :c 代替所有 [a-zA-Z]。 |
十进制数 |
:d |
匹配表达式 [0-9]。此表达式可匹配任何数字。 例如,假设您需要在文本文件中搜索社会福利号。美国的社会福利号的格式为 999-99-9999。:d^3-:d^2-:d^4 或 [0-9]^3-[0-9]^2-[0-9]^4](使用 [0-9] 表示)可返回相同结果。 可使用简写表达式 :d 代替所有 [0-9]。 |
十六进制数 |
:h |
匹配表达式 [0-9a-fA-F]+ 使用此表达式可匹配由 'A' 和 'F' 间的大写或小写字母和任意数字组成的十六进制数。 例如,假设网站中的网页拥有多种不同的背景颜色,而您要将这些网页的颜色更改为空白(如 000000)。但是,您不知道现有颜色值的十六进制。使用下列正则表达式可查找所有现有十六进制值: /#:h 可以使用 [0-9a-fA-F] 搜索,但在本例中我们将反斜线 (/) 和带有十六进制数字 (:h) 语法组合在一起。/# 匹配非表达式井字符 (#),而 :h 匹配任何十六进制字符序列。 若要替换现有十六进制数值,可键入所需背景颜色的十六进制数值: 000000 |
标识符 |
:i |
匹配表达式 [a-zA-Z_$][a-zA-Z0-9_$]* 处理代码时,如果需要匹配所有程序标识符,则可使用简写表达式 :i ,而无需键入上述冗长的表达式。 |
有理数 |
:n |
匹配表达式 ([0-9]+/.[0-9]*)|([0-9]*/.[0-9]+)|([0-9]+) 如果需要匹配包含小数点的整个数值,可使用简写表达式 :n,而无需键入上述冗长的表达式。 |
引起的字符串 |
:q |
匹配表达式 ("[~"]*")|('[~']*') 如果需要匹配文档的所有引号,可使用简写表达式 :q,而无需键入上述冗长的表达式。 |
字母字符串 |
:w |
匹配表达式 [a-zA-Z]+ 此语法是一种可匹配一个或多个大写或小写字母字符的简便方法。 |
十进制整数 |
:z |
匹配表达式 [0-9]+ 此语法是一种可匹配任何整数的简便方法。 |