gpt4 book ai didi

java - 重叠正则表达式第二部分

转载 作者:行者123 更新时间:2023-11-29 09:18:54 25 4
gpt4 key购买 nike

this question我要求使用正则表达式将 /abc/def/ghi 转换为 {/abc/def/ghi, /def/ghi, /ghi}。答案是对表达式 (?=(/.*)) 使用前瞻。

是否有正则表达式可以从同一个字符串中捕获 {/abc, /abc/def, /abc/def/ghi} ? (顺序并不重要。)

最佳答案

好的,这是一个适用于你的唯一测试用例的解决方案,尽管我还没有找到一种方法将它分组到一个好的组中:

Matcher m = Pattern.compile("((?<=(^.*))(/[^/]*))").matcher("/abc/def/ghi");
while (m.find()) {
System.out.println(m.group(2) + m.group(3));
}

它基本上会找到每个出现的/xxx 子字符串,然后还会连接匹配之前的所有内容。这适用于您的测试用例,但对于更复杂的用例可能有限制。

关于java - 重叠正则表达式第二部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7762590/

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