2016-01-23 92 views
1

我知道過去有人問過這個問題的不同之處,但是我沒有試過的例子都是有效的。所以,再一次,我怎麼能匹配除了給定的子字符串與正則表達式?正則表達式匹配除了給定的子字符串以外的所有東西

例如,從這個愛因斯坦選擇的一切,但stupid報價:

Two things are infinite: the universe and human stupidity; and I'm not sure about the universe. 

我已經有一些成功捕捉一切都交給stupid使用((?!stupid).)*,但讓所有的它沒有運氣。我一直在regex101.com

+0

您的預期輸出是什麼? –

+1

如果你正試圖放棄'愚蠢',那麼它會將字符串分成兩部分。因此給你兩個單獨的字符串,或者你可能想要加入這兩個字符串。我不明白你爲什麼想這麼做?因此,明確指定輸出格式和您打算做什麼將會很有幫助。 – 2016-01-23 08:53:31

+0

不要試圖放棄'stupid',而是通過Powershell(此刻)的'Select-String -replace「」'命令刪除其他所有內容。 – Mica

回答

0

測試我將捕獲的字符串除了stupid 這樣的:

^(.*)stupid(.*)$ 

和打印(或其他做某事;)兩次與\1 , \2$1 , $2 ...


無論如何,有沒有任何方法可以一次捕獲未連接的字符串?

+0

如果排除單詞有兩次或多次出現,該怎麼辦? –

+0

@WiktorStribiżew對這個(IMO)看起來不同的問題我會提前刪除所有排除的詞的出現並使用它 – ehwank

+0

你可以舉一個工作示例來測試regex101.com嗎?不太熟悉反向引用。 – Mica

相關問題