gpt4 book ai didi

Java-正则表达式 : Several matches in same string

转载 作者:行者123 更新时间:2023-12-01 07:28:38 26 4
gpt4 key购买 nike

我有一个字符串:String s = "输入的格式必须为:'$var1$'-'$var1$'-'$var1$'"

我想将 $ 之间的文本替换为其他文本,因此结果在控制台上可能如下所示:
“输入的格式必须为:'$REPLACED$'-'$REPLACED$'-'$REPLACED$'”

我一直到 s.replaceAll("\\$.+\\$", "\\$REPLACED\\$";,但这会导致
“输入的格式必须为:'$REPLACED$'”(第一个和最后一个$作为边框)。

我如何告诉正则表达式引擎,出现了多次并且每次都需要处理(=替换)?

感谢您的帮助!

编辑://感谢您的帮助。 “贪婪的事情”就是问题所在。在正则表达式中添加 ? 解决了我的问题。现在的解决方案如下所示(对于有类似问题的人):
s.replaceAll("\\$.+?\\$", "\\$REPLACED\\$";

最佳答案

您遇到的效果称为贪婪:像.+这样的表达式将匹配尽可能多的字符。

使用 .+? 来使表达式非贪婪并匹配尽可能少的字符。

关于Java-正则表达式 : Several matches in same string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20474880/

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