gpt4 book ai didi

RegEx - 与条件环视匹配?

转载 作者:行者123 更新时间:2023-12-05 00:04:01 28 4
gpt4 key购买 nike

我想使用环视匹配字符串的一部分,但前提是该行中不包含其他单词。

Some bears live and eat in the woods.



在上面的行中,我想找到“在”中吃饭(在“生活和”和“树林之间”):
/(?<=\blive and\b).*?(?=\bwoods\b)/

但前提是“熊市”不在该范围之外,无论是在环顾之后、之前还是环顾之间。

不应返回匹配的行的其他示例是:

Some animals live and eat in the woods, like bears.

Some animals live and eat bears in the woods.



如何将此条件添加到我的正则表达式中?

最佳答案

这是有问题的,因为大多数 flavor 不支持可变长度的后视,因此您无法检查整行。一个简单的方法是匹配整行而不是使用环视:

^(?!.*\bbears\b).*?\blive and\b(.*?)\bwoods\b

在这里,以前是整场比赛的是第一个捕获组。根据您的使用情况,它可能会使替换此文本变得不那么方便。确保使用多行标志( /m ),而不是设置单行标志(点全部或 /s )。

工作示例: http://rubular.com/r/TuADb2vB4w

请注意,如果您可以分两步解决问题,则问题变得非常简单:用 \bbears\b 过滤掉行。 , 并匹配想要的字符串。

关于RegEx - 与条件环视匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6092982/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com