这应该很简单。我需要一个正则表达式来选择不包含某个单词的所有内容。REGEX:选择不等于某个字符串的所有内容
所以如果我有这句话:“这句话中间有一个词。” 而正则表达式得到的只是“中等”,我应该选择该句子中的所有内容,而不是“中等”。
有没有简单的方法来做到这一点?
谢谢。
这应该很简单。我需要一个正则表达式来选择不包含某个单词的所有内容。REGEX:选择不等于某个字符串的所有内容
所以如果我有这句话:“这句话中间有一个词。” 而正则表达式得到的只是“中等”,我应该选择该句子中的所有内容,而不是“中等”。
有没有简单的方法来做到这一点?
谢谢。
单个正则表达式匹配操作不可能是不连续的。
您就可以使用两个捕获组:
(.*)middle(.*)
然后拼接捕获组1和2在赛后的内容。
您可能希望在解析器中启用“点也匹配换行符”选项。
见例如Java's DOTALL,.NET's Singleline,Perl's s
等
当/如果你这样做,确保你启用`.`以匹配换行符。 – Keng 2010-12-02 18:29:00
正环视是要走的路:
/^(.+)(?=middle)/ -- gets everything before middle, not including middle
和
/(?!middle)(.+)$/ -- gets everything after middle, not including middle
然后你只合并双方
的结果
呃,只需将数据复制到一个字符串var并执行搜索/替换....无论如何可能比RE更便宜。 – Keng 2010-12-02 18:36:09
这个单词可以在句子中多次出现吗? – 2010-12-02 19:50:04