[学习笔记]正则表达式

常见转义字符

\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

猜你喜欢

转载自www.cnblogs.com/xybz/p/10879044.html