Десятичные числа из строки с регулярным выражением - PullRequest
0 голосов
/ 29 октября 2011

Я новичок в веб-программировании, особенно в регулярных выражениях.Я хочу создать универсальный код, который будет извлекать десятичные числа из строки, потому что я заметил, что координаты, которые мы должны всегда десятичные числа и, следовательно, вытащить, когда я получу десятичные числа и координаты.Проблема в том, что некоторые координаты (-) минус перед десятичными числами.Как решить эту проблему.

Я пытался с этим кодом:

$string = 'http://maps.google.com/maps/api/staticmap?size=186x186&sensor=false&markers=color: red|size:mid|42.052661,-88.049441';

preg_match_all('#(([0-9]+){1,3}\.([0-9]+))#is', $string, $matches);

print_r($matches[1]);

, но я получаю: Array ([0] => 186x186 [1] => 42.052661 [2] => 88.049441) где массив [0] ненужный знак минус не берется для координации.Есть ли другой способ и возможно ли это построить?(извините за мой английский, я не очень хорошо учусь)

1 Ответ

1 голос
/ 29 октября 2011

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

(\-?[0-9]{1,3}\.[0-9]+)(?:,|\||$)

Два первых совпадения группы будут координатами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...