2012-09-13 41 views
1

在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" 

認爲這RE,但事實並非如此。什麼不見​​了?

請幫忙。

+0

爲什麼你需要負向預測?更簡單的正則表達式''(貓|狗)跑「'應該工作得很好。 –

+0

的確如此。其實我簡化了我的真實任務。我會如何做到這一點與消極的展望。 – duvo

+1

正則表達式語法根據您使用的方言而有所不同。您應該可以告訴您的表達式需要運行哪種編程語言或程序。 – hugomg

回答

1

似乎你想要一個表達式匹配不包含The的子字符串。 可與結構類似(?:(?!The).)*做,在你的表達:

The(?:(?!The).)*jump 

注意,在這種情況下使用懶惰(.*?)量詞就足夠了,如:

The.*?jump 

也許這可以工作你原來的問題。

+0

不錯!第一個構造工作得很好。第二個沒有。謝謝。 – duvo

1

下面會爲你做嗎?

The \w* ran