gpt4 book ai didi

java - 如何处理正则表达式中的多个括号?

转载 作者:行者123 更新时间:2023-11-29 09:50:58 26 4
gpt4 key购买 nike

我有这种类型的字符串:

文字(更多文字)

我想要做的是使用一个正则表达式来提取字符串的“更多文本”部分。到目前为止,我一直在使用这个正则表达式:

"^.*\\((.*)\\)$"

虽然它适用于很多情况,但如果我有这样的东西,它似乎会失败:

text(更多的文字(更多的文字))

我得到的是:更多文本)

我想得到的是: 更多文本(更多文本)(基本上是最外面一对括号的内容。)

最佳答案

除了惰性量化,还有一种方式是:

"^[^(]*\\((.*)\\)$"

在两个正则表达式中,在匹配组之前都有一个显式指定的左括号("\\(",带有 Java String 转义)。在原始版本中,有一个 。 * 在此之前,允许任何东西(包括其他左括号)。在我这里,左括号是不允许的(有一个 negated character class ),所以在最外面明确指定的左括号。

关于java - 如何处理正则表达式中的多个括号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2759770/

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