这应该是直截了当的。我需要一个正则表达式来选择不特定包含某个单词的所有内容。
所以,如果我有这句话:“这句话中间有一个词。” 正则表达式除了“中间”之外还得到所有内容,我应该选择句子中的所有内容,但是“中间”。
有没有简单的方法可以做到这一点?
感谢。
答案 0 :(得分:2)
单个正则表达式匹配操作不可能是不连续的。
您可以使用两个捕获组:
(.*)middle(.*)
然后在匹配后连接捕获组1和2的内容。
您可能希望在解析器中启用“dot也匹配换行符”选项
例如,请参阅Java's DOTALL,.NET's Singleline,Perl's s
等
答案 1 :(得分:1)
积极的外观是要走的路:
/^(.+)(?=middle)/ -- gets everything before middle, not including middle
和
/(?!middle)(.+)$/ -- gets everything after middle, not including middle
然后你只需合并两个结果