正则表达式获取两个字符之间的字符串信息

时间:2025-03-29 08:51:53

今天工作有一个需求就是捕获两个字符之间的字符串信息,类似就是AcakeB这个字符串中提取cake

当时只想到如下的表达式:

A.*B
复制代码

上述是将以A开头和以B结尾的字符串提取出来,但是本意是不想要有A和B了。通过查资料发现了如下写法

(?<=A).*(?=B)
复制代码

真的很惊奇正则还有这种写法,继续查了一点资料,又学到一点知识。

下述资料参考自博客 正则 ?

表达式 描述
(?:pattern) 非捕获匹配,匹配pattern但不获取匹配结果,不进行存储供以后使用。
(?=pattern) 非捕获匹配,正向肯定预查,在任何匹配pattern的字符串开始处匹配查找字符串,不进行存储供以后使用。
(?!pattern) 非捕获匹配,正向否定预查,在任何不匹配pattern的字符串开始处匹配查找字符串,不进行存储供以后使用
(?<=pattern) 非捕获匹配,反向肯定预查,与正向肯定预查类似,但是方向相反。
(?<!pattern) 非捕获匹配,反向否定预查,与正向否定预查类似,但是方向相反。