有没有更好的方法为Regexp Or运算符分组单词?

时间:2017-03-27 20:02:59

标签: regex vba com

在VBA中使用正则表达式时,(Microsoft VBScript正则表达式5.5)我经常发现自己在寻找几个单词中的一个作为更大模式的一部分。我通常的做法是在每个单词周围使用括号,用竖线| OR运算符分隔。

例如:((mitt)|(bat)|(ball)|(mask))

围绕整个组的最后一组括号让我找出匹配的单词。内部括号是对整个单词进行OR处理,而不仅仅是单词的第一个/最后一个字母。

然而,我最终得到了一堆毫无价值的子匹配 - 括在括号中的每个单词。是否有更好的方法为OR运算符分组“单词”?

1 个答案:

答案 0 :(得分:2)

你不需要内括号:

(mitt|bat|ball|mask)

够了。见Alternation with The Vertical Bar or Pipe Symbol