正则小记

本文介绍了正则表达式的高级应用,包括特殊符号的含义、贪婪与非贪婪模式的区别,以及预查断言等复杂匹配技巧。推荐了在线正则测试工具regexper.com和regex101.com,便于实践学习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首推两个不错的正则工具:

              https://regexper.com/

              https://regex101.com/

 

1. ^单独使用时表示匹配字符串开始的位置,在[^abc]中使用时表示非。

2. 正则中的两种匹配模式:贪婪模式、非贪婪模式,可以使用?表示。

就应用意义而言,在匹配成功的前提下,贪婪模式表示尽可能匹配到多的字符串,非贪婪模式是做尽可能少的匹配。

匹配成功是非常必要的前提,https://blog.youkuaiyun.com/lxcnn/article/details/4756030介绍的非常清楚。

3. (pattern)、(?:pattern)、(?=pattern)、(?!pattern)、(?<=pattern)、(?<!pattern)

(?:pattern):  匹配 pattern 但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用。

(?=pattern): 正向肯定预查(look ahead positive assert),在任何匹配pattern的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。

(?!pattern): 正向否定预查(negative assert),在任何不匹配pattern的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。

(?<=pattern): 反向肯定预查。

(?<!pattern):反向否定预查。

4. \num 匹配 num,其中 num 是一个正整数。对所获取的匹配的引用。例如,'(.)\1' 匹配两个连续的相同字符。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值