|
字符 |
匹配 |
|
字母和数字 |
自身 |
|
\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,无穷) |
|
字符 |
含义 |
|
| |
选择,匹配左边或者右边的表达式 |
|
(...) |
分组,可使用重复符进行修饰(记忆) |
|
(?:...) |
只组合,不记忆 |
| \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) |
根据规则分割成数组 |
原文:http://www.cnblogs.com/xiaoheimiaoer/p/3677282.html