如果列表中存在任何字符串,则与行不匹配的正则表达式

时间:2013-08-16 02:39:39

标签: regex excel vba

我正在为工程数据编写分类应用程序,我面临着这个棘手的问题。我有一个(巨大的)管道组件列表,我需要对它们进行分类。我所拥有的是这样的:

...
FLANGE NECK
FLANGE BLIND
STUB END ... with FLANGE
FLANGE ... foo
FLANGE
...

当我只有FLANGE时,我想将它与“SIMPLE FLANGE”类别相匹配。所有其他条目需要与特定类型的法兰相匹配。

我发现FLANGE((?!NECK).)*$与“FLANGE NECK”不匹配,但会匹配“FLANGE BLIND”,我不希望这样。

所以,我认为解决我问题的方法是这样的:

/FLANGE(*NOT NECK*)(*NOT BLIND*)(*NOT WITH STUB*).../

有关如何处理它的任何想法?

PS:我在Excel的VBA中正在做正则表达式。

1 个答案:

答案 0 :(得分:2)

您正在寻找交替运算符|

/FLANGE (?!NECK|BLIND|STUB)/