初探JS正则表达式
字符 |
匹配 |
字母和数字 |
自身 |
\o |
NUL字符(\u0000) |
\t |
制表符(\u0009) |
\n |
换行符(\u000A) |
\v |
垂直制表符(\u000B) |
\f |
换页符(\u000C) |
\r |
回车符(\u000D) |
\xnn |
十六进制数,nn指拉丁字符 |
\uxxxxx |
十六进制数,xxxx指unicode字符 |
\cX |
控制字符^X |
2.2字符类
字符 |
匹配 |
[...] |
方括号内的任意字符 |
[^...] |
除方括号外的任意字符 |
. |
除换行符和其他unicode行终止符外的任意字符 |
\w |
任何ASCII字符组成的单词,等价于[a-zA-Z0-9] |
\W |
非ASCII字符组成的单词,等价于[^a-zA-Z0-9] |
\s |
任何unicode空白符 |
\S |
任何非unicode空白符 |
\d |
任何ASCII数字,等价于[0-9] |
\D |
非ASCII数字,等价于[^0-9] |
[\b] |
退格直接量 |
字符 |
含义 |
{n,m} |
匹配前一项,至少n次,不超过m次,[n,m) |
{n,} |
匹配前一项,至少n次或者更多次,[n,无穷) |
{n} |
匹配前一项n次,==n |
? |
匹配前一项,0到1次,0||1 |
+ |
匹配前一项,1到多次,[1,无穷) |
* |
匹配前一项,0次到多次,[0,无穷) |
2.4选择、分组和引用字符
字符 |
含义 |
| |
选择,匹配左边或者右边的表达式 |
(...) |
分组,可使用重复符进行修饰(记忆) |
(?:...) |
只组合,不记忆 |
\n |
和第n组,第一次匹配的字符相匹配 |
字符 | 含义 |
^ |
匹配字符串的开头 |
$ |
匹配字符串的结尾 |
\b |
匹配单词的边界符 |
\B |
匹配单词非边界符 |
(?=p) |
正向先行断言,都与p匹配但不包含 |
(?!p) |
负向先行断言,都与p不匹配 |
字符 |
含义 |
i |
不区分大小写 |
m |
多行匹配模式 |
g |
全局匹配 |
方法名称 |
使用说明 |
String.search(patern) |
返回第一个与之匹配的子串起始位置,如果找不到就返回-1 |
String.replace(patern, newStr) |
将匹配的字符串替换成newStr,newStr也可以是动态替换字符串的函数 |
String.match(patern) |
返回一个有匹配结果组成的数组,如果非全局匹配,第一个是匹配的字符串,后面为分组值 |
String.split(partern) |
根据规则分割成数组 |
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。