Сервер отправляет мне строку, представляющую некоторые фигуры.Группирование регулярных выражений: числа, разделенные пробелами
<RECTANGLE> 157 20 225 99 </RECTANGLE>
<CIRCLE> 282 301 7 </CIRCLE>
Давайте возьмем прямоугольник один.
<RECTANGLE> 157 20 225 99 </RECTANGLE>
Теперь мне нужно получить эти группы, когда я EXEC мое регулярное выражение:
myArray[0] = "<RECTANGLE> 157 20 225 99 </RECTANGLE>"
myArray[1] = "RECTANGLE"
myArray[2] = " 157 "
myArray[3] = " 20 "
myArray[4] = " 225 "
myArray[5] = " 99 "
Но с моим текущим регулярным выражением:
<(.*?)>(\S+)+</\1>
возвращает меня:
null
И если я использую этот ввод:
<SQUARE> 55465 </SQUARE>
я только получаю:
myArray[0] = "<SQUARE> 55465 </SQUARE>"
myArray[1] = "SQUARE"
myArray[2] = " 55465 "
Так это работает только тогда, когда есть только один (пробел) номер (пробелы) в строке.
Может кто-нибудь помочь исправить мое регулярное выражение, чтобы оно получило все (пробелы) в строке.
Я немного изменил регулярное выражение на <(.*?)> (\ S +) +\1>, и теперь я получаю последний. Я читал, что, если он не находится в .net, группа становится выше. Это также относится к java ?, а если нет, использование регулярного выражения является критерием работы, которую я должен выполнить, поэтому я не могу использовать string.split(). –