正则表达式-匹配规则
基本模式匹配:^ $
如果regex = "^once"是这样就代表匹配的该字符串必须是以once开头 如果regex =
"once$"这样就代表必须是以once进行结尾,才会匹配 如果regex =
"once"这样就代表只要该匹配的字符串中有once就会进行匹配,不管它的前后是什么字符
字符簇 [],{},[^],()
[]:代表一个字符串 如:[a-z] 匹配所有的小写字母 [^]:代表一个非里面的字符 如[^a-z] 匹配除a-z以外的所有字符
{}:代表有几次 如^a{2} 代表a字符要么出两次:如 aabb,aab 可以,但是abbd不行。有{n},{n,},{n,m}
():代表分组(abc|def|dse)代表要么出现abc,def,dse否则不行
特殊字符 * + . ? | \
字符 * 代表 匹配前面的字表达式0次或多次
字符 + 代表匹配前面的子表达式一次或多次
字符 . 代表匹配除换行\n以外的任何字符
字符 ?代表匹配前面字符0次或一次,最多一次,如1?. 匹配abd,但是aab不匹配
字符 | 代表两个项之间的一个选择
字符 \ 代表下一个字符为特殊字符
一些常用的元字符
字符 | 意义 |
---|---|
\b | 匹配一个**单词边界**,也就是指单词和空格的位置 如 regex = "er\b"可以匹配nerver中的er,但是不可以匹配verb中的er |
\B | 匹配**非单词边界**,如regex = “er\B” 可以匹配verb中的er,但是不能匹配never中的er |
\d | 匹配一个数字字符,等价于[0-9] |
\D | 匹配一个非数字字符,等价于[^0-9] |
\s | 匹配任何空白字符,包括空格,制表符,换页等 |
\S | 匹配任何的非空白字符 |
\t | 匹配一个制表符 |
\w | 匹配字母,数字,下划线,等价于[A-Za-z0-9] |
\W | 匹配非字母,数字,下划线。等价于[^A-Za-z0-9] |
\num | 匹配num,其中num是一个正整数。对所获取的匹配的应用如(.)\1 匹配两个连续相同的字符。 |
a ↩︎