REGEX:选择不等于某个字符串的所有内容

时间:2010-12-02 18:19:30

标签: regex

这应该是直截了当的。我需要一个正则表达式来选择不特定包含某个单词的所有内容。

所以,如果我有这句话:“这句话中间有一个词。” 正则表达式除了“中间”之外还得到所有内容,我应该选择句子中的所有内容,但是“中间”。

有没有简单的方法可以做到这一点?

感谢。

2 个答案:

答案 0 :(得分:2)

单个正则表达式匹配操作不可能是不连续的。

您可以使用两个捕获组:

(.*)middle(.*)

然后在匹配后连接捕获组1和2的内容。

您可能希望在解析器中启用“dot也匹配换行符”选项 例如,请参阅Java's DOTALL.NET's SinglelinePerl's s

答案 1 :(得分:1)

积极的外观是要走的路:

/^(.+)(?=middle)/ -- gets everything before middle, not including middle

/(?!middle)(.+)$/ -- gets everything after middle, not including middle

然后你只需合并两个结果