当前位置: 代码迷 >> 综合 >> 正则表达式中(RegExp)的字符和转译
  详细解决方案

正则表达式中(RegExp)的字符和转译

热度:7   发布时间:2024-02-09 22:13:54.0
正则表达式中常用的特殊字符:
符号 含义
^ 匹配的起始位置,^在 [ ] 中表示反义
$ 匹配的结束位置
. 可以任意匹配任意一个字符 ,[ ] 中的 . 是字符 .
匹配前面的字符0次或一次,{0,1};所有的贪婪匹配,后面加个?,就是非贪婪匹配,情景为:当前后有别的内容,需要对中间的内容进行匹配时,先匹配最小的
+ 匹配前面的字符一次或更多次,至少有一次{1, }
* 匹配前面的字符n次,可看作通配符,{0, }
() 群组,将圆括号内的匹配放置到一个组内,$1就是第一个群组,$2就是第二个群组,$3就是第三个群组… ,使用match()时,如果不加全局,则除返回找到的元素外,还返回群组的元素
{n} 匹配前面的字符n次;当n为0时,意味着匹配一个空字符,即”“
{n,} 匹配前面的字符至少n次
{n,m} 匹配前面的字符至少n次,最大允许m次,默认为贪婪匹配 ,先匹配最大的
[ ] [ ] 里面内容可以任意匹配一个字符,可以用0-9 a-z A-Z
[ ^ ] 在[]中第一位使用 ^,表示除了 ^ 后面的字符外都满足; ^ 如果在 [ ] 不是第一位,就表示字符 ^
| 或者,可以用来匹配多个字符或者另外的字符,如果
\ 通常用作转义字符
正则表达式中常用的转义字符序列:
字符序列 含义
\d 代表数字 [ 0-9 ]
\D 代表非数字 [ ^0-9 ]
\w 表示任何字母、数字、下划线 [0-9a-zA-Z_]
\W 表示任何非字母、数字、下划线 [^0-9a-zA-Z_]
\s 表示单个空白字符,如空格或制表符
\S 表示单个非空白字符
正则表达式中常用的转义序列:
字符序列 含义
\n 换行
\r 回车
\b 退格符
\t 水平制表符,Tab键
\\ 反斜杠符
\[ 左中括号
\] 右中括号
\’ 单引号
.
断言:
表达式 ???? 意义
(?=X) 先行断言。仅当子表达式 X 在 此位置的右侧匹配时才继续匹配。例如,\w+(?=\d) 与后跟数字的单词匹配,而不与该数字匹配。此构造不会回溯。
(?!X) 先行断言。仅当子表达式 X 不在 此位置的右侧匹配时才继续匹配。例如,例如,\w+(?!\d) 与后不跟数字的单词匹配,而不与该数字匹配 。
(?<=X) 后发断言。仅当子表达式 X 在 此位置的左侧匹配时才继续匹配。例如,(?<=19)99 与跟在 19 后面的 99 的实例匹配。此构造不会回溯。
(?<!X) 后发断言。仅当子表达式 X 不在此位置的左侧匹配时才继续匹配。例如,(?<!19)99 与不跟在 19 后面的 99 的实例匹配