正则表达式备忘
.:匹配除换行符外的任一单字符
^:匹配开头,只命中后面的第一个字符/分组
$:匹配结尾,只命中前面的第一个字符/分组
?:匹配前面的表达式0次或1次
{n,m}:匹配前面的表达式以给定的次数,比如{2}表示要出现2次,{2,}表示要出现最少2次,{2,6}表示出现的次数可以是2到6次
*:匹配前面的表达式0次或多次,*等价于{0,}
+:匹配前面的表达式1次或多次,+等价于{1,}
\:转义字符
|:或运算符
[abc]:匹配[]里的任一字符,比如例子里表示匹配a或者b或者c,也可以在[]里面指定匹配的范围,如[0-9]、[a-zA-Z]
[^abc]:匹配任何指定字符之外的所有字符
():分组,匹配出现在括号里的整个字符串,可以搭配上面的限定符一起使用
\num:对前面()分组的引用,比如(abc)\1表示可以匹配abcabc;(abc)(def)\1\2表示可以匹配abcdefabcdef,其中\1表示引用(abc),\2表示引用(def)。注意引用的是实际的值而不是表达式,比如 (\w+).*\1 可以匹配 abc中文abc ,但不能匹配 abc中文123 ,因为 \1 引用到的是前面的 abc ,而不是\w+
(a|b):匹配出现在括号里的以|分隔开的多个字符串(或的关系),可以搭配上面的限定符一起使用
\w:匹配任意数字、字母、下划线,等价于[0-9a-zA-Z_]
\W:匹配任意非数字、字母、下划线,等价于[^0-9a-zA-Z_]
\d:匹配任意数字
\s:匹配任意空白字符,包括空格、制表符、换行符等
\S:匹配任意非空白字符
\b:单词边界符
[\u4e00-\u9fa5]:匹配中文
断言
先行断言从左往右看,后行断言从右往左看
(?=表达式):**正向先行断言:**指在某个位置向右看,表示所在位置右侧要能匹配给定表达式
(?!表达式):**反向先行断言:**指在某个位置向右看,表示所在位置右侧不能匹配给定表达式
(?<=表达式):**正向后行断言:**指在某个位置向左看,表示所在位置左侧要能匹配给定表达式
(?<!表达式):**反向后行断言:**指在某个位置向左看,表示所在位置右侧不能匹配给定表达式
常用正则表达式
^(?!.*(str)) :表示字符串里不能包含给定的字符,若不想包含多个给定字符,可以用 ^(?!.*(str1|str2))
(?=.*(补助|救助))(^(?!.*(交通|通讯))):包含补助/救助,同时不包含交通/通讯
'[^a-zA-Z0-9\u4e00-\u9fa5]+':去除所有非中文、英文字母和数字的字符
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!