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:getimpick me <i>Jack</i>Expected Result: gettimepick me <i>Jack</i>一个字符与 / 一起被添加为定界符。任何人都可以帮我编写正则表达式来拆分基于定界符“/”的文本,它应该忽略xml结束标记”
2 回答

HUH函数
TA贡献1836条经验 获得超4个赞
您的正则表达式应如下所示:
(;|:|(?<!<)/)
带有负面外观,演示:https://regex101.com/r/2k1WI5/1/
您当前的正则表达式将基本上匹配任何不后跟偶数,空格和日语字符的字符。[^<]/
<
/
\n
这就是为什么你丢失了一些字母,因为它们被认为是分隔符的一部分。
按照第四个 bird 建议,您甚至可以将正则表达式简化为:([;:]|(?<!<)/)

慕容3067478
TA贡献1773条经验 获得超3个赞
[^<]/
将匹配和e/
t/
使用 lookbehind 代替,如果它不是结束标记,它将具有所需的行为,仅考虑作为分隔符/
(?<!<)/
整个正则表达式
(;|:|(?<!<)/)
添加回答
举报
0/150
提交
取消