Vzhľadom na nasledujúci reťazec:
"foo.bar.baz"
to môže byť rozdelená na "dot" ľahko dosť pomocou Java String rozdelenie:
split("foo.bar.baz", ".")
Ak však chcem zachovať bodku, ak ihneď nasleduje ďalšia tečka, aký je výraz regex:
"foo.bar.baz..raz..daz.faz" → "foo" "bar" "baz..raz..daz" "faz"
odpovede:
7 pre odpoveď č. 1Tento regex by fungoval:
s.split("(?<!\.)\.(?!\.)");
Myšlienkou je použiť negatívny lookahead len na rozdelenie "."
ktoré nesleduje alebo predchádza iný bod.