У меня есть строка, соответствующая этому регулярному выражению: ^.+:[0-9]+(\.[0-9]+)*/[0-9]+$
, который можно легко визуализировать как (Text):(Double)/(Int)
. Мне нужно разбить эту строку на три части. Обычно это было бы легко, за исключением того, что (Текст)
может содержать двоеточия, поэтому я не могу разбить ни одно двоеточие, а скорее последнеедвоеточие.
.*
является жадным, поэтому он уже делает довольно аккуратную работу, но это не будет работать как регулярное выражение в String.split(), потому что оно съест мой (Text )
как часть разделителя. В идеале я хотел бы иметь что-то, что вернуло бы String[] с тремя строками. Я на 100% согласен с тем, что не использую для этого String.split().