1、简介
正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符")。
正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。
正则表达式可以帮助我们快速高效的实现检索匹配
2、常用字符
1)常用元字符
- . 匹配除换行符以外的所有字符
- \w 匹配字母、数字、下划线
- \d 匹配数字
- \s 匹配任意的空白符
- \b 匹配单词的开始或结束
- ^ 匹配字符串的开始(从字符串的第一个字符开始匹配)
- $ 匹配字符串的结束(匹配到字符串的最后一个字符)
['one','one cat', 'one123','two cat']
'^on' 匹配以on开头的字符串,eg,'one','one cat','one123'
2常用反义符
- \W 匹配任意不是字母,数字,下划线,汉字的字符。
- \D 匹配任意非数字的字符。
- \S 匹配任意不是空白的字符。
- \B 匹配不是单词开头或结束的位置。
- [^x] 匹配除了x以外的任意字符。
- [^hello]匹配除了hello这几个字母以外的任意字符。
3)常用限定符号
- *重复0次或多次(不限次数)
- +重复1次或多次(至少一次)
- ? 重复0次或一次(至多一次)
- {n} 重复n次
- {n,} 重复n次或多次
- {n,m} 重复n次到m次
['oe','one','onne', 'onnnnne','oonnneee']
'on*e' 匹配o(n)e,n可以没有,也可以有多次,eg,'on','one','onne','onnnnne'
'on+e' 匹配one,n出现一次或多次,eg,'one','onne','onnnnne'
'on?e' 匹配o(n)e,n最多出现一次 eg, 'oe','one'
'on{2}e' 匹配one,n重复2次 eg, 'onne'
'on{2,}e' 匹配on**e, n重复2次或者更多,eg,'onne','onnnnne'
'on{2,5}e' 匹配on**e, n重复2次到5次,eg,'onne','onnnnne'
4)字符簇
- []
这个模式可以与符合的字符匹配,但只能表示一个字符
[abcdefg] //表示匹配这里面的任意一个字母
//连字号可以表示一个字符的范围
[a-z] //匹配所有的小写字母
[A-Z] //匹配所有的大写字母
[a-zA-Z] //匹配所有的字母
[0-9] //匹配所有的数字
[0-9\.\-] //匹配所有的数字,句号和减号
[ \f\r\t\n] //匹配所有的白字符
// 几个排除特殊的字符的例子
[^a-z] //除了小写字母以外的所有字符
[^\\\/\^] //除了(\)(/)(^)之外的所有字符
eg:如果要匹配一个由一个小写字母和一位数字组成的字符串,比如"z2"、"t6"或"g7",但不是"ab2"、"r2d3" 或"b52"的话,用这个模式:
'^[a-z][0-9]$'
- []{} 配合检测重复性出现
注意 特殊字符的匹配需要用\转义字符
//常用转义
* => \*
- => \-
. => \.
\ => \\
// 正整数
^[1-9][0-9]{0,}$ 等同于 ^[1-9][0-9]*$
//所有的整数
^\-{0,1}[0-9]{1,}$ 等同于 ^\-?[0-9]+$
//匹配所以中文字符
[\u4e00-\u9fa5]{1,}
网友评论