Java regex split xml xpath - PullRequest
       1

Java regex split xml xpath

0 голосов
/ 05 марта 2019

Я пытаюсь разделить xpath как отдельный узел.

Мой xpath равен /samp/lorem/ipsum/dolar[a/c]/imet(a)/data

, и я хочу разделить, как показано ниже:

/samp
/lorem
/ipsum
/dolar[a/c]
/imet(a)
/data

как это сделать с помощью регулярных выражений Java?

String nodes = xpath.split("?");

1 Ответ

1 голос
/ 05 марта 2019

Вы можете разделить вашу строку, используя это регулярное выражение,

(?=/)(?![^\[\]]*])

Здесь (?=/) регулярное выражение отмечает позицию в начале каждого /, а (?![^\[\]]*]) отрицательный взгляд вперед обеспечивает / внутри квадратаскобки не выбраны для разделения.

Проверьте этот код Java,

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

Prints,

/samp
/lorem
/ipsum
/dolar[a/c]
/imet(a)
/data
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...