学习笔记(高阶正则表达式)

正则表达式中有前瞻(Lookahead)和后顾(Lookbehind)的概念,需要注意一点,正则表达式中的前和后和我们一般理解的前后有点不同。一段文本,我们一般习惯把文本开头的方向称作“前面”,文本末尾方向称为“后面”。但是对于正则表达式引擎来说,因为它是从文本头部向尾部开始解析的(可以通过正则选项控制解析方向),因此对于文本尾部方向,称为“前”,因为这个时候,正则引擎还没走到那块,而对文本头部方向,则称为“后”,因为正则引擎已经走过了那一块地方。如下图所示:
在这里插入图片描述

// 前瞻:
exp1(?=exp2) 查找exp2前面的exp1
// 后顾:
(?<=exp2)exp1 查找exp2后面的exp1
// 负前瞻:
exp1(?!exp2) 查找后面不是exp2的exp1
// 负后顾:
(?<!exp2)exp1 查找前面不是exp2的exp1
————————————————

匹配不包含特定字符串的正则

/^(?!.*xx).*$/g         //xx代表特定字符串

匹配不以特定字符串开头的正则

/^(?!xx).*?$/g    //xx代表特定字符串
. 匹配任意除换行符“\n”外的字符;
*表示匹配前一个字符0次或无限次;
?代表的是非贪婪模式; 若不写?为贪婪模式
.*连接在一起是取尽量多的任意字符  .*?连接在一起时取尽量少的任意字符

参考博文链接:
正则参考博文
前瞻参考博文

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值