正则表达式中常用特殊字符
在做字符串匹配时,正确恰当的使用正则表达式能帮我们节省不少工作,做到事半功倍,这篇博客将介绍正则表达式中最常用的特殊字符。
第一类,字符串开始结尾限定符
- ^ 指定字符串必须以“^”后字符开头
- $ 指定字符串必须以“$”前字符结尾
第二类,匹配量词
- * 匹配“*”前字符0次或者更多次
- + 匹配“+”前字符1次或者更多次
-
{} 匹配方括号前字符指定次数,分为三种形式
- {m} 匹配方括号前字符m次
- {m,n} 匹配方括号前字符m次但不大于n次
- {m,} 匹配方括号前字符m次或者更多次
需要注意的是,正则表达式默认采用的是贪婪匹配,也就是说在使用匹配量词时,默认是在整个表达式匹配成功的前提下,找到匹配量词修饰的字符最长的匹配串;如果想使用非贪婪匹配,需要在匹配量词后面加上“?”,表示采用非贪婪匹配,也就是找到最短的匹配串。
第三类,\+字母
- \s 匹配单个空白字符,比如空格,换行等
- \S 匹配单个非空白字符,与“\s”相反
- \w 匹配单个单词字符,相当于[0-9A-Za-z_]
- \W 匹配单个非单词字符,与“\w”相反
- \d 匹配单个数字字符
- \D 匹配单个非数字字符
第四类,[]内加字符
“[]”表示匹配其中任意一个,具体有三种形式
- [abcd] 匹配方括号内所有列出来的字符中的任意一个
- [0-9] 采用“-”连接符,匹配0到9区间中的任意一个
- [^1] 采用“^”取反,匹配非1的任意一个字符
第五类,其他
- . 匹配任意字符
- () “()”之间的表达式是一个“组”(group),并且将匹配这个表达式的匹配串保存到这个临时区域,以供后面引用
- [\u4E00-\u9FA5] 匹配任意一个汉字字符