regex - 匹配除指定字符串正则表达式之外的所有内容
问题描述
我知道以下正则表达式将匹配“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
解决方案
您可以使用
^Value(?![1-3]\b)\d.*(?:\n\S.*)*
请参阅正则表达式演示。注意m
使^
匹配行开头的标志。
详情:
^
- 一行的开始Value
-Value
字符串(?![1-3]\b)
-不允许紧跟在当前位置右侧的或1
后接单词边界2
3
\d
- 一个数字.*
- 线路的其余部分(?:\n\S.*)*
- 零个或多个以非空白字符开头的行。