正则表达式学习笔记(二)

该文接正则表达式学习笔记(一)

6.反义

    所谓的反义就是查找不属于某个给定范围的字符。、

常用的反义代码

\W 匹配任意不是字母,数字,下划线,汉字的字符

\S 匹配任意不是空白符的字符

\D 匹配任意非数字的字符

\B 匹配不是单词开头或结束的位置

[^x] 匹配除了x以外的任意字符

[^aeiou] 匹配除了aeiou这几个字母以外的任意字符

7.向后引用

用于匹配于正则表达式匹配的先前的部分,比图使用小括号指定一个子表达式后,匹配这个子表达式的文本,并且可以在表达式或其它程序中作进一步的处理。

8.零宽断言

所谓的断言是用来声明一个应该为真的情况。正则表达式中只有当断言为真时才会继续进行匹配。而零宽断言用于查找在某些内容(不包括这些内容)之前或之后的东西,也就是说它们像\b,^,$那样用于指定一个位置,这个位置应该满足一定的条件(即断言)

零宽断言有以下几种形式:

零宽度正预测先行断言:

(?=exp)

断言自身出现的位置的后面能匹配表达式exp

零宽度正回顾后发断言:

(?<=exp)

断言自身出现的位置的前面能匹配表达式exp

9.负向零宽断言

  用于确定某个字符没有出现(并不匹配该字符本身)形如:(?!exp),断言此位置的后面不能匹配表达式exp

    10.注释

可以通过这样的方式包含注释:

(?#comment

11.贪婪匹配

当正则表达式中包含能接受重复的限定符时匹配尽可能多的字符。

例如:

a.*b,它将会匹配最长的以a开始,以b结束的字符串。如果用它来搜索aabab的话,它会匹配整个字符串aabab。这被称为贪婪匹配。

12.懒惰匹配

当正则表达式中包含能接受重复的限定符时匹配尽可能少的字符。只要在限定符后面加上一个问号?就可以转化为懒惰匹配模式。

比如:

.*?

表示匹配任意数量的重复,但是在能使整个匹配成功的前提下使用最少的重复。

    以上的学习笔记记录的是正则表达式的一些基本的概念以及用法。尽管在不同的环境下正则表达式都会有不同的用法以及特殊的功能,实现方法也有所不同,但是基本语法还是有很大的相似性,所以这篇笔记也能够帮助自己在以后的学习中触类旁通。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值