当一个单词列表中出现两个单词的组合时,正则表达式匹配

时间:2013-09-16 01:17:47

标签: regex excel vba

我正在寻找一个正则表达式: 仅当列表中的两个单词的某些组合存在时才生成匹配,

我目前正在使用以下内容(Excel中VBA中较大宏的一部分):

^(?!.*(word1)).*(word2|word3|word4).*$

制作不包含单词1但包含单词2,3或4之一的匹配。

我需要的是能够改变它,以便它只有在有单词2,3,4的组合时才能进行匹配(所以某种AND语句)

例如,当存在以下组合时,我们会得到匹配:

Word 2, Word 3
Word 2, Word 4
Word 3, Word 4

当然,我有超过3个单词,我需要16个不同的单词才能运行此过程。

1 个答案:

答案 0 :(得分:0)

不确定我是否正确理解了请求,但这应该有效

^(?!.*word1)(?=.*(word2|word3|word4)).*