如何编写正则表达式匹配除指定字符串外的所有内容
正则排除指定条目的实现方法
可以通过负向先行断言实现需求,你需要的正则规则如下(需开启多行匹配模式,即正则的m修饰符):
^(?!Value1|Value3)([^\n]+)\n(\d+)
规则说明
^:在多行模式下匹配每一行的起始位置(?!Value1|Value3):负向先行断言,要求当前行开头不能是Value1或Value3,命中这两个值的条目会直接被排除([^\n]+):匹配键名行的所有内容(直到换行符为止)\n:匹配键名与数值之间的换行(\d+):匹配数值行的数字内容
匹配效果
对你给出的测试数据集使用上述正则后,会得到你需要的结果:
Value4G 18813 Value5G 3292
补充说明
目前主流编程语言的正则引擎(Python、JavaScript、Java、Go等)均支持负向先行断言语法,可直接使用。如果你的使用场景不支持断言,也可以先匹配所有条目后再做二次过滤排除指定值即可。
内容的提问来源于stack exchange,提问作者Lacer
相关产品推荐
相关产品推荐

