Regex 正则表达式负前瞻

Regex 正则表达式负前瞻,regex,Regex,在RE不太熟悉。我有以下字符串 "The cat jump The cat ran The cat eat The dog jump The dog ran The dog eat". 我想去 "The cat ran" and "The dog ran". 我认为这种重复使用消极前瞻的方法应该有效 "The(?!.*The).*jump" 但事实并非如此。少了什么 请帮忙。下面的内容可以帮你吗 The \w* ran 似乎您希望表达式与不包含的子字符串匹配。 这可以通过在表达

在RE不太熟悉。我有以下字符串

"The cat jump The cat ran The cat eat The dog jump The dog ran The dog eat".  
我想去

"The cat ran" and "The dog ran".  
我认为这种重复使用消极前瞻的方法应该有效

"The(?!.*The).*jump" 
但事实并非如此。少了什么


请帮忙。

下面的内容可以帮你吗

The \w* ran

似乎您希望表达式与不包含
的子字符串匹配。
这可以通过在表达式中使用类似于
(?:(?!The)。*
的构造来完成:

The(?:(?!The).)*jump
注意,在这种情况下,使用惰性(
*?
)量词就足够了,例如:

The.*?jump

也许这也能解决你原来的问题。

为什么你需要消极的前瞻?更简单的regex
“The(cat | dog)ran”
应该可以正常工作。这是真的。我实际上是在简化我真正的任务。如何使用负前瞻。regex语法因您使用的方言而异。您可能应该告诉我们您的表达式需要在哪种编程语言或程序中运行。我要强调的是,如果您的任务比您提供给我们的任务更复杂(对此有一个小小的简化),您可能应该包含更多的任务,以便我们能够提出更适合实际问题的解决方案。很好!第一个结构工作得很好。第二个没有。非常感谢。