如果任何行上都不存在另一个值,则匹配一个值

时间:2018-10-12 22:12:58

标签: .net regex

如果整个字符串中不存在另一个值,则我希望在任何行上都匹配(真或假)特定值。例如,如果我有以下字符串:

  

红色橙色蓝色黑色
  棕粉红青色白
  黄色

仅当“黄色”不存在时,我才想在“蓝色”上进行匹配。请记住,字符串中的颜色可以是任意顺序。

我到处都没有运气,我认为这可能是不可能的。任何帮助表示赞赏!

2 个答案:

答案 0 :(得分:1)

对黄色锚定的开始使用否定的视线:

^(?s)(?!.*Yellow)(.*)(Blue)

蓝色在第1组中。如果需要,蓝色在第2组中。

答案 1 :(得分:0)

您可以尝试以下方法:

/(?!.*Yellow)Blue/i

请参阅演示:https://regex101.com/r/7aSWz7/1