【正则表达式】通俗易懂——正则表达式的零宽断言:?=、?<=、?!、?<! 的具体使用区别

本文深入浅出地介绍了正则表达式的前瞻(?=、?<=)、后顾(?!、?<!)概念,通过实例解析它们的用法。对于初学者来说,这些概念往往难以理解,但本文力求简化复杂性,帮助读者快速掌握正则表达式的这一关键特性,以便在文本匹配和处理中更加得心应手。

ps:想吐槽一下,什么前瞻,后顾,负前瞻,负后顾,小白就想简单了解会用而已,为啥网上很多明明很简单的东西非得写的那么…举的例子也那么…,对小白一点也不友好~

一、个人理解:

1、将 < 看成方向,包含这个箭头说明是放在要去匹配的目标内容的左边(来开头);
2、把 ?! 看成 ?!= 就好了
3、一定要记住:匹配得到的结果并不包含 ?=、?<=、?!和?<!=里面的内容的!!!


二、?=、?<=、?!、?<! 的具体使用区别:

【1】?= : 询问要去匹配的目标的后面跟着的东西是否等于这个

eg: ^b(?=a)$ —— ba

【2】?<= : 询问要去匹配的目标是否以这个东西开头

eg: ^(?<=a)b$ —— ab

【3】?! : 询问要去匹配的目标后面跟着的东西是否 不是这个

eg:^b(?!a)$ —— bb

【4】?<!= :询问要去匹配的目标是否不是以这个东西开头

eg:^(?<!=a)$ —— bb


贴一个官方的例子:

?= exp1(?=exp2): 查找在 exp2 前面的 exp1。
?<= (?<=exp2)exp1: 查找在 exp2 后面的 exp1。
?! exp1(?!exp2): 查找后面不是 exp2 的 exp1。
?<! (?<!exp2)exp1:查找前面不是 exp2 的 exp1。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值