测试工具: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后边没有. 符号,所有需要单独拉出来写
原文:https://www.cnblogs.com/dhfblog/p/12113117.html