正则表达式必知必会-附

正则表达式测试器:
http://www.forta.com/books/0672325667/

常见问题解决方案:

  1. IP地址:
    (((25[0-5])|(2[0-4]\d)|(1\d{2})|(\d{1,2}))\.){3}((25[0-5])|(2[0-4]\d)|(1\d{2})|(\d{1,2}))
  2. URL地址:
    https?://[-\w.]+(:\d+)?(/([\w/_.]*)?)?
  3. 电子邮件地址:
    (\w+\.)*\w+@(\w+\.)+[A-Za-z]+
  4. HTML注释:
    <!-{2,}.*?-{2,}>

基本元字符
. 匹配任意单个字符
| 逻辑或操作符
[ ] 匹配字符集合中的一个字符
[^]对字符集合求非
-[ ]中定义一个区间
\ 对下一个字符转义

数量元字符
* 匹配前一个字符(子表达式)的零次或多次重复 *? 懒惰型版本
+ 匹配前一个字符(子表达式)的一次或多次重复 +?懒惰型版本
? 匹配前一个字符(子表达式)的零次或一次重复
{n} 匹配前一个字符(子表达式)的n次重复
{m,n} {n,} {n,}?

位置元字符
^or\A 匹配字符串开头
$or\Z 匹配字符串结束
\< 匹配单词开头
\> 匹配单词结束
\b 匹配单词边界(开头和结束)
\B \b的反义

特殊字符元字符
[\b] 退格字符
\c 匹配一个控制字符
\d 匹配任意数字字符
\f 换页符
\n 换行符
\s 匹配一个空白字符
\S \s的反义
\t 制表符
\v 垂直制表符
\w 匹配任意字母数字字符或下划线字符
\W \w的反义
\x 匹配一个16进制数
\0 匹配一个8进制数

回溯引用和前后查找
( ) 定义一个子表达式
\1 匹配第一个子表达式 \2 \3依次类推
?= 向前查找
?!= 负向前查找
?<= 向后查找
?<! 负向后查找
?( ) 条件 if ( ) then
?( ) | 条件 if ( ) then else

大小写转换
\E 结束 \L\U
\l 把下一个字符转换为小写
\L 把后面的字符转换为小写,直到遇见 \E 为止
\u 把下一个字符转换为大写
\U 把后面的字符转换为大写,直到遇见 \E 为止

匹配模式
(?m) 分行匹配模式,必须在整个模式前面,此时换行符相当于字符串分隔符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值