выполнить preg match - PullRequest
0 голосов
/ 26 марта 2012

Как выполнить preg_match это

 $needle = '"pid": "20"';
 $haystack = '"pid": "1"' . '"pid": "12"' . '"pid": "20"' . '"pid": "14"';

и, кстати, числовое значение иглы не является статическим
Я новичок в preg_match

Ответы [ 2 ]

2 голосов
/ 26 марта 2012
[0-9]+  // Matches 1 or more numbers from 0 to 9

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

$needle   = '/"pid": "[0-9]+"/';
$haystack = '"pid": "1"' . '"pid": "12"' . '"pid": "20"' . '"pid": "14"';

preg_match_all($needle,$haystack,$matches);

$matches Выходные данные

(
    [0] => Array
        (
            [0] => "pid": "1"
            [1] => "pid": "12"
            [2] => "pid": "20"
            [3] => "pid": "14"
        )

)

Чтобы узнать больше о регулярных выражениях, посмотрите эту базовую справочную информацию по синтаксису .

0 голосов
/ 26 марта 2012

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

$needle = '/"pid"\s*:\s*"\d+"/';
...