Использование регулярного выражения для поиска значения после точки в URL - PullRequest
0 голосов
/ 21 марта 2012

Я хочу извлечь число, расположенное после периода 'specid' и непосредственно перед частью '& type' следующего URL:

"http://subdom.someurl.com/cat/motorparts?id=12345&specid=245038.100006592&type=10&page=0"

Цифры являются переменными, поэтому они могут колебаться по длине.

Я новичок, когда дело доходит до регулярных выражений, но любая помощь поможет мне в этом.

Ответы [ 2 ]

2 голосов
/ 21 марта 2012

@ Быстрый ответ на регулярные выражения Джо Смита подойдет.

Вы также можете использовать синтаксический анализ компонентов url в PHP для получения ваших данных, а затем использовать простые строковые операции

http://codepad.org/9kjggw8U

<?php
$tokens = array();
parse_str("http://subdom.someurl.com/cat/motorparts?id=12345&specid=245038.100006592&type=10&page=0",$tokens);
var_dump($tokens['specid']);
?>
1 голос
/ 21 марта 2012

Я не большой в PHP, но он должен выглядеть примерно так:

preg_match('/specid=\d+\.(\d+)/i', $input, $matches);

$matches - массив, хранящий все совпадения. Значение, которое вы ищете, будет во втором элементе. Подробнее см. preg_match .

Я не уверен на 100%, но из того, что я могу сделать вывод, убедитесь, что вы используете одинарные кавычки вокруг строки шаблона, в противном случае вам придется избегать обратной косой черты, что делает регулярные выражения более понятными, чем они уже есть. .

...