正则表达式
正则表达式
正则表达式在线测试网址 : http://tool.chinaz.com/regex/?qq-pf-to=pcqq.group
作用
检测某一段字符串是否符合规则
从一大段文字中将符合规则的匹配出来
只和字符串相关
字符组 [ ] 描述的是一个字符位置上的内容规则
[01234] [0-5] [0-9] [9-0] × 不能从大到小来规定范围
字符组内所有范围都是根据ascii码来的
所有数字[0-9]
小写字母[a-z]
大写字母[A-Z]
所有字母[A-Za-z]
数字和大小写字母[0-9A-Za-z]
想匹配什么就往[]里写什么
转义
想匹配 - 要转义后匹配 使用 \ 作为转义符 例[1\-2]
在测试的网页上写的是什么 就直接复制过来,然后在字符串外面加上一个 r
\t \本身具有转义作用,相当于改变了t本来的面目
\\ \本身具有转义作用,\\相当于转义了\的特殊作用,相当于普通的一个'\'
字符组之外其他有特殊规则的元字符
\d 匹配任意一个数字 字符组[0-9]更灵活,精准 \d更方便
\w 匹配所有数字字母下划线
\t 匹配 tab (制表符)
\n 匹配换行符(回车)
\s 匹配所有的空白( \t \n 空格 )
空格 匹配所有的空格
\b 匹配一个单词的边界
反义词
\W 匹配除了数字字母下划线( \w )外的所有
\D 匹配除了 \d 之外的所有
\S 匹配除了空白之外的所有
. 匹配换行符之外的所有字符
匹配所有
[\D\d] [\W\w]
非字符组
[^123] 匹配除了123之外的所有
开始符和结束符
开始符 ^ 只匹配开头 永远在一个规则最开始
结束符$ 只匹配结尾 永远在一个规则最末尾
^ 和 $ 规定了字符串的长度,并且在这个长度内的内容 多用于作用 -
或的概念
123|456 匹配123或456 把相对长(优先匹配)的放在左边
分组的概念
www\.(baidu|oldboy)\.com 用括号括起来,表示约束范围
量词
贪婪匹配
在量词的范围内尽可能多的匹配
1[3-9]\d{9} 测试匹配手机号 {9} 表示前面这一位字符规则出现9次
{n} 表示出现n次
{n,} 表示至少出现n次
{n,m} 表示出现n-m次
? 表示匹配0次或1次 即可以存在也可以不存在
+ 表示匹配1次或多次
* 表示匹配0次或多次
匹配整数 [1-9]\d*|0
匹配小数 \d+\.\d+
匹配一个小数或整数 \d+\.\d+|([1-9]\d*|0)
惰性匹配
贪婪匹配是默认的 惰性匹配是需要我们手动设置的 尽可能少的匹配
a.* 以a开头的任意字符串都可以被匹配出来
a.*? ?不代表量词 非贪婪 所以取0个
a.*?x 不加问号的话一直匹配到最后一个x才停 加了问号后遇到x就停止匹配
从a开始匹配任意长度的字符 遇到一个x立即停止

浙公网安备 33010602011771号