regex 正则表达式-匹配所有字符串,但有特定的例外

sr4lhrrt  于 2023-02-05  发布在  其他
关注(0)|答案(1)|浏览(147)

我有很多字符串有相似的值。我需要写一个正则表达式,将保留所有的值,除了那些开始与一个特定的子字符串,任何人都知道我可以做到这一点。
例如,假设字符串值为:

foo_bar
foo_baz
foo_bar_baz
foo_baz_bar
bar_baz
bar_foo

我可以编写一个正则表达式,它可以轻松地捕获上述所有字符串:

(foo_.*|bar_.*)

但假设我有理由放弃任何包含"foo_baz"的内容,而保留所有其他内容,也就是说,我的结果将是:

foo_bar
foo_bar_baz
bar_baz
bar_foo

有什么简单的方法可以实现这一点,而不必显式地列出我想要保留的每个字符串吗?
谢谢。

qeeaahzv

qeeaahzv1#

您可以使用负前瞻:

^(?!foo_baz).*$

参见https://regex101.com/r/jBCSjR/1
或者,根据您的编程语言,使用startsWith()或任何等效方法过滤掉值可能更容易。

相关问题