常见转义字符
\n \t \等
如果要匹配字符本身的话就需要转义
为什么需要转义,因为这些字符在正则表达式中都有特殊含义,转义是为了不产生混淆
转义只需要在前加\,表示匹配本身
\\ \^ \$ \. \( \) \[ \] \{ \} \? \+ \* \|
常见字符
\d 任意一个数字0到9
\w 任意一个字母数字下划线
\s 任意一个空白符(空格、制表、换行)
\S 任意一个空白符之外 [\s\S]
\b 匹配单词的开始或结束 \bword\b
\^ 匹配字符串的开始
\$ 匹配字符串的结束
. 任意字符(除换行)
? {0,1}
+ {1,}
* {0,}
| 或
&& 类似c的逻辑&&
注意[]中除了^其他符号都没有了特殊意义
贪婪 尽量匹配更多的字符
非贪婪(加上?) 与贪婪相反
下面列举一些常用的正则
Email地址:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$ 域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.? InternetURL:[a-zA-z]+://[^\s]* 或 ^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$ 手机号码:^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$ 身份证号:\d{15}|d{18} 日期格式:^\d{4}-\d{1,2}-\d{1,2}
xml文件:^([a-zA-Z]+-?)+[a-zA-Z0-9]+\\.[x|X][m|M][l|L]$ 中文字符:[\u4e00-\u9fa5] QQ:[1-9][0-9]{4,}
中国邮政编码:[1-9]\d{5}(?!\d) IP地址:\d+\.\d+\.\d+\.\d+
空白符:\n\s*\r
几种处理模式
IgnoreCase(忽略大小写) 匹配时不区分大小写。
Multiline(多行模式) 行首和行尾匹配时任意一行都会进行匹配
Singleline(单行模式) .可以匹配每一个字符(包括换行符\n)。
IgnorePatternWhitespace(忽略空白) 忽略表达式中的非转义空白并启用由#标记的注释。
ExplicitCapture(显式捕获) 仅捕获已被显式命名的组。
工具软件RegexBuddy
传送门: https://pan.baidu.com/s/11VbwltXLwFQqcpMZCZdmFQ 提取码: 8fx3
2019-05-17 00:46:56