2016-01-23 39 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

相关问题