如果列表中的任何string存在,则表示不匹配行的正则expression式

我正在写一个工程数据的分类应用程序,我面临这个棘手的问题。 我有一个(巨大的)pipe道组件清单,我需要对它们进行分类。 我有什么是这样的:

 ...
法兰颈
法兰奇
 STUB END ...与法兰
法兰...富
法兰
 ... 

当我只有法兰,我想匹配它到“简单的法兰”类别。 所有其他条目需要与特定types的法兰匹配。

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

所以,我觉得能解决我的问题是这样的:

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

任何想法如何处理?

PS:我在Excel的VBA中执行正则expression式。

您正在寻找交替操作符|

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