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结束标记“
答案 0 :(得分:4)
您的正则表达式应如下所示:
(;|:|(?<!<)/)
带有令人反感的外观,演示:https://regex101.com/r/2k1WI5/1/
您当前的正则表达式[^<]/
基本上将匹配任何非<
的字符,后跟/
,甚至\n
,空格和日语字符。
这就是为什么您会丢失一些字母,因为它们被视为分隔符的一部分。
按照The fourth bird的建议,您甚至可以将正则表达式简化为:([;:]|(?<!<)/)
答案 1 :(得分:3)