正则笔记(3)


负向零宽断言
 例如:/b/w*q[^u]/w*/b 匹配包含后面不是字母u的字母q的单词
 [^a-z]负值字符范围。匹配任何不在指定范围内的任意字符。  
     零宽度负预测先行断言(?!exp),断言此位置的后面不能匹配表达式exp
         例: /b/w*q[^u]/w*/b-------/b/w*q(?!u)/w*/b (修改上个例子)
  例:/d{3}(?!/d)-----匹配三位数字,而且这三位数字的后面不能是数字
              /b((?!abc)/w)+/b---配不包含连续字符串abc的单词
 (?<=<(/w+)>).*(?=<///1>)---匹配不包含属性的简单HTML标签内里的内容

注释:
 (?#comment)来包含注释。
 例如:2[0-4]/d(?#200-249)|25[0-5](?#250-255)|[01]?/d/d?(?#0-199)
贪婪与懒惰
 贪婪匹配:例如a.*b,它将会匹配最长的以a开始,以b结束的字符串
 懒惰:与贪婪匹配,在限定符后加问号?
 例如:a.*?b----匹配最短的,以a开始,以b结束的字符串
 懒惰限定符:
 *?------重复任意次,但尽可能少重复
 +?------重复1次或更多次,但尽可能少重复
 ??------重复0次或1次,但尽可能少重复
 {n,m}?---重复n到m次,但尽可能少重复
 {n,}?----重复n次以上,但尽可能少重复

   复习:   零宽度正回顾后发断言(?<= exp ),当子表达式在此位置的左侧匹配时才继续匹配
        例:(?<=19)99---与跟在19后面的99的实例匹配.此构造不会回溯
     零宽度正预测先行断言 (?= exp) 仅当子表达式在此位置的右侧匹配时才继续匹配
        例如:例如,/w+(?=/d)---- 与后跟数字的单词匹配

    我明白,我要的就是这种心态:十年磨一剑

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值