найти preg_match_all со взглядом назад и взглядом вперед - PullRequest
2 голосов
/ 09 февраля 2011

У меня есть текущая строка

preg_match_all('/(?<=, ")<b>[\d\D]+(?="\)\;})/',$str,$matches);

, где $ str равен

906), "<b>tadam tadam 393943</b>");});

, по какой-то причине он не находит совпадений, какЭто что?

ОБНОВЛЕНИЕ
Чтобы это работало, мне нужно было добавить U в
конце регулярного выражения, чтобы это не было жадным ...
иди цифра.

1 Ответ

1 голос
/ 09 февраля 2011

Это совпадает, вы просто должны указать группу в скобках:

preg_match_all('/(?<=, ")(<b>[\d\D]+)(?="\)\;})/',$str,$matches);

Так что к фрагменту, соответствующему <b>[\d\D]+, можно получить доступ через $matches[1][0].

...