正则表达式的简单介绍
什么是正则表达式???
正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为”元字符”)。
正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。
在常见的字符串检索或替换中,我们需要提供一种模式表示检索或替换的规则。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。
例:abc匹配aabc/abbc/abcc/abc但是不能匹配ab/bc/def之类的
[a-z]{4}匹配abcd/defz/fgrd之类的
一些简单的句法。。。
- .(实心点)
任意字符(除换行符以外:\n,\r,\u2028 or \u2029)
/…/.text(‘1a@’) \d
数字0-9
/\d\d\d/.text(‘123’)\D
非\D,即不是数字0-9的字符
/\D\D\D/.text(‘ab!’)\w
数字0-9,或字母a-z及A-Z(大小写),或下划线
/\w\w\w\w/.text(“aB9_”)\W
非\W
/\W\W\W/.text(“@!#”)\s
空格符、TAB、换页符、换行符
/\sabc/.text(“abc”)\S
非\S\t\r\n\v\f
tab 回车 换行 垂直制表符 换页符
[…]
字符范围
[a-z] [0-9] [A-Z0-9a-z_][^…]
字符范围以外
[^a-z] [^abc]扫描二维码关注公众号,回复: 1558285 查看本文章^
行首
^Hi\b
零宽单词边界
\bno 例:a no √
ano ×\B
非\bx* x+
重复次数>=0 重复次数>0 贪婪算法(匹配尽可能多的字符)
abc*将匹配ab、abc、abccccccc
abc+将匹配abc、abccccccx*? x+?
同x*,x+,非贪婪算法(匹配尽可能少的字符)
abc*?在字符串abccccc中将匹配ab,
abc+?则匹配abcx|y
x或者y
x|y匹配x,也匹配y
如:ab|cd|ef匹配ab、cd、efx?
出现0或1次x{n} x{n,} x{n,m}
重复n次,重复>=n次,重复次数x满足:n<=x<=m
x{5}匹配xxxxxoo,不匹配xxo
x{1,3}匹配x,xx,xxx