我有很多字符串有相似的值。我需要写一个正则表达式,将保留所有的值,除了那些开始与一个特定的子字符串,任何人都知道我可以做到这一点。
例如,假设字符串值为:
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
有什么简单的方法可以实现这一点,而不必显式地列出我想要保留的每个字符串吗?
谢谢。
1条答案
按热度按时间qeeaahzv1#
您可以使用负前瞻:
参见https://regex101.com/r/jBCSjR/1
或者,根据您的编程语言,使用
startsWith()
或任何等效方法过滤掉值可能更容易。