Можете ли вы использовать регулярное выражение соответствия нулевой ширины в String split?
System.out.println(
Arrays.deepToString(
"abc<def>ghi".split("(?:<)|(?:>)")
)
);
Это печатает[abc, def, ghi]
как будто я разделился на"<|>"
, Я хочу это напечатать[abc, <def>, ghi]
, Есть ли способ использовать магию регулярных выражений для достижения того, чего я хочу здесь?
Возможно, более простой пример:
System.out.println(
Arrays.deepToString(
"Hello! Oh my!! Good bye!!".split("(?:!+)")
)
);
Это печатает[Hello, Oh my, Good bye]
, Я хочу это напечатать[Hello!, Oh my!!, Good bye!!]
, `.