正则表达式(持续更新)

测试工具:RegexBuddy    网站在线测试工具:https://regexper.com  https://deerchao.cn/tools/wegester/

教学网址:https://deerchao.cn/tutorials/regex/regex.htm

什么是正则表达式:记录文本规则的代码,查找符合某些复杂规则的字符串

元字符:

\b 表示单词的边界,代表单词的开头或者结尾   \baaa\b :查找aaa这个字符

* 代表任意字符   

-连字符,只匹配它本身  \d 匹配一位数字     0\d\d-\d\d\d\d\d\d:匹配以0开头,后面接8位数字 例如:025-515159      还能这么写 0\d{2}-\d{8}  {2}{8}代表\d重复2次8次

\s 匹配任意的空白符   \w 匹配字母或者数字下划线汉字等

\ba\w*\b :匹配以a开头,后面任意数量的字符 的word       

  

 \d{2,10}:代表匹配数字长度位2位到12位,只要有连续的2位到10位数字都匹配

^\d{5,10}$  匹配5位到10位的的数字 与\b\d{5,10}\b匹配的结果相同

字符转义:

匹配  \ . ^ 等 需要用到\      

 

重复:

 

 

 

解析: \(?0\d{2}[) -]?\d{8}

“(”和“)”也是元字符,需要转义符\               [0-9 ] 与\d 相等

   

 

 

 分枝条件:

使用 | 把不同的规则分隔开 ,满足其中任何一种规则都匹配

 

分组:

匹配ip地址  xxx..xxx.xxx.xxx

((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)

看似很复杂 ,其实一步一步走就很容易理解了   

先理解 2[0-4]\d|25[0-5]|[01]?\d\d?  ip 规则是十进制不能大于255   2 0-4 \d  或者 25 0-5 或者0-1? \d\d?就可以涵盖0-255

(\.){3}重复三次分组     最后的xxx后边没有. 符号,所有需要单独拉出来写

posted @ 2019-12-29 20:11  小huangzi  阅读(184)  评论(0)    收藏  举报