我正在寻找一个正则表达式来遍历多个字符串并匹配其中的这些词:
Maces Armour Evasion Shields
排除同时包含这些词的字符串:
Swords Axes Staves
例如(这两行是一个字符串):
12% Increased Physical Damage with Maces
8% Increased Armour
应该是一个匹配,但这个不应该是(这两行也是一个字符串,但它包含禁用的单词“swords”和需要的单词“evasion”):
10% Increased Evasion
8% Increased Attack Speed with Swords
如何排除该列表?
请您参考如下方法:
您可以对需要的词使用前瞻,对禁止的词使用否定前瞻(如果您的正则表达式引擎允许这两个功能):
(?s)(?=.*\b(?:Maces|Armour|Evasion|Shields)\b)(?!.*\b(?:Swords|Axes|Staves)\b)^.+$
