正则表达式

本文最后更新于: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 码。


正则表达式
https://changzer.gitee.io/2021/08/17/正则表达式/
作者
长泽
发布于
2021年8月17日
许可协议