常见转义字符
\n
\t
\
等
如果要匹配字符本身的话就需要转义
为什么需要转义,因为这些字符在正则表达式中都有特殊含义,转义是为了不产生混淆
转义只需要在前加\,表示匹配本身
常见字符
\d 任意一个数字0到9
\w 任意一个字母数字下划线
\s 任意一个空白符(空格、制表、换行)
\S 任意一个空白符之外 [\s\S]
\b 匹配单词的开始或结束 \bword\b
^ 匹配字符串的开始
$ 匹配字符串的结束
. 任意字符(除换行)
? {0,1}
+ {1,}
* {0,}
注意[]中除了^其他符号都没有了特殊意义
贪婪 尽量匹配更多的字符
非贪婪(加上?) 与贪婪相反
下面列举一些常用的正则
1 2 3 4 5 6 7 8 9 10 11 12
| 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
|
几种处理模式
1 2 3 4 5
| IgnoreCase(忽略大小写) 匹配时不区分大小写。 Multiline(多行模式) 行首和行尾匹配时任意一行都会进行匹配 Singleline(单行模式) .可以匹配每一个字符(包括换行符\n)。 IgnorePatternWhitespace(忽略空白) 忽略表达式中的非转义空白并启用由#标记的注释。 ExplicitCapture(显式捕获) 仅捕获已被显式命名的组。
|