gpt4 book ai didi

java - 替换正则表达式的最后一个匹配项

转载 作者:太空宇宙 更新时间:2023-11-04 06:50:26 25 4
gpt4 key购买 nike

如何仅替换正则表达式的最后一个匹配项?我知道这与?但我们如何正确使用前瞻呢? SO 有一些类似的问题,但它们都只需要删除最后一个字符,我无法将其适应整个正则表达式匹配。

// EDIT: the last regex returned "" not "/0/" - the difference is the ?= instead of ?!
String foo = "/0/a/b/c/a/b/c/d".replaceAll("(?=a.b.c).*$","");
assert (foo, "/0/a/b/c/"); // I keep getting /0/ :-(

最佳答案

您可以使用以下内容:

String foo = "/0/a/b/c/a/b/c/d".replaceAll("a.b.c(?!.*a.b.c).*", "");

该模式将匹配后面没有另一个 a.b.ca.b.c

关于java - 替换正则表达式的最后一个匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23366586/

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