正则表达式中(RegExp)的字符和转译
正则表达式中常用的特殊字符:
符号 | 含义 |
---|---|
^ | 匹配的起始位置,^在 [ ] 中表示反义 |
$ | 匹配的结束位置 |
. | 可以任意匹配任意一个字符 ,[ ] 中的 . 是字符 . |
? | 匹配前面的字符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 的实例匹配 |
正则表达式中(RegExp)的字符和转译
正则表达式中常用的特殊字符:
符号 | 含义 |
---|---|
^ | 匹配的起始位置,^在 [ ] 中表示反义 |
$ | 匹配的结束位置 |
. | 可以任意匹配任意一个字符 ,[ ] 中的 . 是字符 . |
? | 匹配前面的字符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 的实例匹配 |