Java正则表达式分割xml xpath

Java正则表达式分割xml xpath,java,regex,string,Java,Regex,String,我正在尝试将xpath拆分为单个节点 我的xpath是/samp/lorem/ipsum/dolar[a/c]/imeta/data 我想像下面这样分开: /samp /lorem /ipsum /dolar[a/c] /imet(a) /data 如何使用java正则表达式实现这一点 字符串节点=xpath.split 您可以使用此正则表达式拆分字符串 (?=/)(?![^\[\]]*]) 这里?=/regex标记每个和开头的位置?![^\[\]]*]负前瞻确保未选择方括号内的/进行拆分

我正在尝试将xpath拆分为单个节点

我的xpath是/samp/lorem/ipsum/dolar[a/c]/imeta/data

我想像下面这样分开:

/samp
/lorem
/ipsum
/dolar[a/c]
/imet(a)
/data
如何使用java正则表达式实现这一点


字符串节点=xpath.split

您可以使用此正则表达式拆分字符串

(?=/)(?![^\[\]]*])
这里?=/regex标记每个和开头的位置?![^\[\]]*]负前瞻确保未选择方括号内的/进行拆分

检查这个Java代码

String s = "/samp/lorem/ipsum/dolar[a/c]/imet(a)/data";
Arrays.stream(s.split("(?=/)(?![^\\[\\]]*])")).forEach(System.out::println);
印刷品

/samp
/lorem
/ipsum
/dolar[a/c]
/imet(a)
/data
如何使用java正则表达式实现这一点?你没有。XPath是一种嵌套语法。Java正则表达式不能执行嵌套模式。