正则表达式
本文最后更新于:5 个月前
字符描述:
\:将下一个字符标记为特殊字符或字面值。例如 “n “与字符 “n “匹配。 “\n “与换行符匹配。序列 “\ “与 “\ “匹配, “( “与 “( “匹配。
^ :匹配输入的开始位置。
$ :匹配输入的结尾。
* :匹配前一个字符零次或几次。例如, “zo* “可以匹配 “z “、 “zoo “。
+ :匹配前一个字符一次或多次。例如, “zo+ “可以匹配 “zoo “,但不匹配 “z “。
? :匹配前一个字符零次或一次。例如, “a?ve? “可以匹配 “never “中的 “ve “。
.:匹配换行符以外的任何字符。
(pattern) 与模式匹配并记住匹配。匹配的子字符串可以从作为结果的 Matches 集合中使用 Item [0]…[n]取得。如果要匹配括号字符(和 ),可使用 “( “ 或 “) “。
x|y:匹配 x 或 y。例如 “z|food “ 可匹配 “z “ 或 “food “。 “(z|f)ood “ 匹配 “zoo “ 或 “food “。
{n}:n 为非负的整数。匹配恰好n次。例如, “o{2} “ 不能与 “Bob 中的 “o “ 匹配,但是可以与 “foooood “中的前两个o匹配。
{n,} :n 为非负的整数。匹配至少n次。例如, “o{2,} “不匹配 “Bob “中的 “o “,但是匹配 “foooood “中所有的o。 “o{1,} “等价于 “o+ “。 “o{0,} “等价于 “o* “。
{n,m} :m 和 n 为非负的整数。匹配至少 n 次,至多 m 次。例如, “o{1,3} “ 匹配 “fooooood “中前三个o。 “o{0,1} “等价于 “o? “。
[xyz] :一个字符集。与括号中字符的其中之一匹配。例如, “[abc] “ 匹配 “plain “中的 “a “。
[^xyz] :一个否定的字符集。匹配不在此括号中的任何字符。例如, “[^abc] “ 可以匹配 “plain “中的 “p “.
[a-z] :表示某个范围内的字符。与指定区间内的任何字符匹配。例如, “[a-z] “匹配 “a “与 “z “之间的任何一个小写字母字符。
[^m-z] :否定的字符区间。与不在指定区间内的字符匹配。例如, “[m-z] “与不在 “m “到 “z “之间的任何字符匹配。
\b :与单词的边界匹配,即单词与空格之间的位置。例如, “er\b “ 与 “never “中的 “er “匹配,但是不匹配 “verb “中的 “er “。
\B :与非单词边界匹配。 “ea*r\B “与 “never early “中的 “ear “匹配。
\d :与一个数字字符匹配。等价于[0-9]。
\D :与非数字的字符匹配。等价于【^0-9】。
\f :与分页符匹配。
\n :与换行符字符匹配。
\r :与回车字符匹配。
\s :与任何白字符匹配,包括空格、制表符、分页符等。等价于 “[ \f\n\r\t\v] “。
\S :与任何非空白的字符匹配。等价于 “【^ \f\n\r\t\v】 “。
\t :与制表符匹配。
\v :与垂直制表符匹配。
\w :与任何单词字符匹配,包括下划线。等价于 “[A-Za-z0-9_] “。
\W :与任何非单词字符匹配。等价于 ”【^A-Za-z0-9_】 “。
\num :匹配 num个,其中 num 为一个正整数。引用回到记住的匹配。例如, “(.)\1 “匹配两个连续的相同的字符。
\n:匹配 n,其中n 是一个八进制换码值。八进制换码值必须是 1, 2 或 3 个数字长。
例如, “\11 “ 和 “\011 “ 都与一个制表符匹配。 “\0011 “等价于 “\001 “ 与 “1 “。八进制换码值不得超过 256。否则,只有前两个字符被视为表达式的一部分。允许在正则表达式中使用ASCII码。\xn:匹配n,其中n是一个十六进制的换码值。十六进制换码值必须恰好为两个数字长。例如, “\x41 “匹配 “A “。 “\x041 “等价于 “\x04 “ 和 “1 “。允许在正则表达式中使用 ASCII 码。