gpt4 book ai didi

java - 正则表达式匹配除两个括号之间的内容之外的所有内容

转载 作者:行者123 更新时间:2023-12-02 08:43:51 25 4
gpt4 key购买 nike

我进行了很多搜索,但没有找到我的具体案例。我需要一个正则表达式来匹配除两个尖括号之间写入的内容之外的所有内容:

我找到了如何匹配除尖括号之外的所有内容: String regex="[^<>]*";

或者如何匹配两个尖括号之间的内容: \<(.*?)\><([^>]+)>

这很好,但我需要与此完全相反的内容。我尝试使用 ^(否定)但没有成功。

例如: Fara Foo <not be selected>;another <also not be selected>

应返回: Fara Foo <>;another <>

整个事情应该在java中工作。

更新: A replaceAll(...)解决方案对我没有帮助,因为我想在 ReplaceAll(...) 调用中使用正则表达式:-) 所以我真的需要正则表达式。

由于评论中有人问:在java中,有一些字符串操作,例如replaceAll()或split(),它们直接采用正则表达式。还有另一种方法是使用 PatternMatcher 。使用起来更方便replaceAll()而不是模式匹配器。这就是为什么我想使用“负”正则表达式来使用replaceAll...

最佳答案

您可以使用(?<=<)照顾<(?=>)回头看>并忽略左尖括号和右尖括号:

String input = "Fara Foo <not be selected>;another <also not be selected>; ...";
String regex = "(?<=<)([^>]*)(?=>)";
input = input.replaceAll(regex, "");

OUTPUTS:
Fara Foo <>;another <>; ...

关于java - 正则表达式匹配除两个括号之间的内容之外的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61209913/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com