Как разбить строку с помощью регулярного выражения? - PullRequest
0 голосов
/ 28 февраля 2019

В nginx я хочу обработать argumet выглядит так:

1530569.52624839870259166,524135.21126760687911883,1531064.27656850102357566,524629.96158770937472582

Итак, четыре числа разделены запятой.Я хочу разобрать его и получить разделенные числа.
Я могу использовать первое число:

^([^,]+)

Как я могу получить другие числа?

1 Ответ

0 голосов
/ 28 февраля 2019

Предполагая, что у вас всегда есть четыре фиксированных номера CSV, вы можете попробовать следующий шаблон:

^([^,]+),([^,]+),([^,]+),([^,]+)$

Четыре номера будут доступны как четыре отдельные группы захвата.

Большинство регулярных выраженийдвижки не хранят повторяющиеся группы захвата, поэтому, хотя у нас может возникнуть соблазн использовать следующий шаблон, он также может не работать:

^([^,]+)(,[^,]+){3}$

Редактировать:

Еслито, что вам нужно, это отдельные шаблоны регулярных выражений для каждого числа, тогда, возможно, это поможет:

first:  ^([^,]+)
second: ^[^,]+,([^,]+)
third:  ^[^,]+,[^,]+,([^,]+)
fourth: ^[^,]+(?:,[^,]+){2},([^,]+)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...