gpt4 book ai didi

java - Java 中基于正则表达式的字符串拆分

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:19:38 26 4
gpt4 key购买 nike

String delimiterRegexp = "(;|:|[^<]/)";
String value = "get/time/pick me <i>Jack</i>";
String[] splitedTexts = value.split(delimiterRegexp);
for (String text : splitedTexts) {
System.out.println(text);
}

Output:
ge
tim
pick me <i>Jack</i>

Expected Result:
get
time
pick me <i>Jack</i>

一个字符与/一起被添加为分隔符。谁能帮我写正则表达式来根据分隔符“/”拆分文本,它应该忽略 xml 结束标记“

最佳答案

你的正则表达式应该是这样的:

(;|:|(?<!<)/)

负面回顾,演示:https://regex101.com/r/2k1WI5/1/

您当前的正则表达式 [^<]/基本上将匹配任何不是 < 的字符其次是 /甚至 \n 、空格和日语字符。

这就是为什么您会丢失一些字母,因为它们被视为分隔符的一部分。

正在关注 The fourth bird建议,您甚至可以将正则表达式简化为:([;:]|(?<!<)/)

关于java - Java 中基于正则表达式的字符串拆分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55221542/

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