首页 > 解决方案 > 匹配除指定字符串正则表达式之外的所有内容

问题描述

我知道以下正则表达式将匹配“Value1”或“Value3”

 (Value1|Value3)\n([0-9]+)

数据集

Value1
631

Value2
871

Value4G
18813

Value5G
3292

Value1
10621

Value1
10301

有没有办法让它匹配除指定字符串之外的所有内容?

如果我指定不匹配 Value 和 Value 3

结果是

Value4G
18813

Value5G
3292

标签: regex

解决方案


您可以使用

^Value(?![1-3]\b)\d.*(?:\n\S.*)*

请参阅正则表达式演示。注意m使^匹配行开头的标志。

详情

  • ^- 一行的开始
  • Value-Value字符串
  • (?![1-3]\b)-不允许紧跟在当前位置右侧的或1后接单词边界23
  • \d- 一个数字
  • .*- 线路的其余部分
  • (?:\n\S.*)*- 零个或多个以非空白字符开头的行。

推荐阅读