常用元字符
代码 | 说明 |
---|
. | 匹配除换行符以外的单个任意字符 |
\w | 匹配字母或数字或下划线 |
\s | 匹配任意的空白符 |
\d | 匹配数字 |
\b | 匹配单词的开始或结束 |
^ | 匹配字符串的开始 |
$ | 匹配字符串的结束 |
常用限定符
代码/语法 | 说明 |
---|
* | 重复零次或更多次 |
+ | 重复一次或更多次 |
? | 重复零次或一次 |
{n} | 重复n次 |
{n,} | 重复n次或更多次 |
{n,m} | 重复n到m次 |
常用
代码/语法 | 说明 |
---|
\W | 匹配任意不是字母,数字,下划线,汉字的字符 |
\S | 匹配任意不是空白符的字符 |
\D | 匹配任意非数字的字符 |
\B | 匹配不是单词开头或结束的位置 |
[^x] | 匹配除了x以外的任意字符 |
[^aeiou] | 匹配除了aeiou这几个字母以外的一个任意字符 |
[aeiou] | 匹配 aeiou 中的一个任意字符 |
[A-Z] | [A-Z] 表示一个区间,匹配一个所有大写字母,[a-z] 表示一个所有小写字母 |
圆括号
圆括号的作用是对字符进行分组,并保存匹配的文本
eg. 匹配A+一个数字+A+一个数字:(A\d){2}
eg. gr(a|e)y匹配gray和grey,该例子还可以使用gr[ae]y,字符类效率更高。
eg. (Doctor|Dr\.?)匹配Doctor,Dr,Dr.三种情况
eg. 用(a|ab)匹配ab时,只能匹配a,但是如果用(ab|a),则可以匹配ab
{m, n} -> 匹配出现的次数 /a{1,3}/
[abc], [a-z] -> 匹配abc, a-z中的任意一个字符
(ab) -> 分组 /(ab)+/匹配一个或者多个连续的ab