gpt4 book ai didi

java - 如何处理与边界 '\\G' 关联的正则表达式?

转载 作者:行者123 更新时间:2023-12-01 05:13:38 24 4
gpt4 key购买 nike

最近在学习Java的regex部分,今天遇到了一个关于boundry\\G使用的问题,这是我的代码:

  String input = "abcdec";
System.out.println(String.format("Before :'%s' ; after replace : '%s'", input , input.replaceAll("\\Gx?", "!")));

当它打印 Before :'abcdec' 时;替换后: '!abcdec' ,我不知道为什么它会打印这个,在第一次与字符串开头匹配后,它用字符 '!' 替换该位置,但是为什么不能再次匹配?我认为正则表达式'\Gx?'可以匹配每个地方。

我需要您的帮助,感谢您的每一次帮助!谢谢..

最佳答案

我引用here :如果您希望一次搜索从上一次停止的地方继续,您可以使用“\G”模式元素。这意味着如果没有执行搜索,则\G 只是告诉搜索从字符串的开头开始并在第一个匹配处停止。

这是另一个 example 。请注意,由于第一次替换没有将起始位置从 0 移开,因此再次在字符串的开头添加了一个感叹号。

您对您的计划有何期望?

关于java - 如何处理与边界 '\\G' 关联的正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11664405/

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