PHP Regex: соответствие раздела строки на основе части раздела - PullRequest
0 голосов
/ 28 декабря 2010

Я пытаюсь извлечь возрастные ограничения из строк:

Example:
(Class 4) (0-110, 5yo+) 3m1f Good To Firm 18 fences
Return:
5yo+

Другими примерами могут быть 2 года, 3 года, 2-3 года, 4 года + и т. Д.

Как сопоставить целыеслово, если вы существуете.Я попытался поиграть с \b, но не смог заставить его вернуть все 5yo+, если yo найден: (

Ответы [ 2 ]

0 голосов
/ 28 декабря 2010

Это сработало для меня и должно работать для всех приведенных вами примеров:

$str = '(Class 4) (0-110, 5yo+) 3m1f Good To Firm 18 fences';
if (preg_match('/[0-9-]+yo\\+?/', $str, $matches)) {
    echo "Matched: $matches[0]\n";
}
0 голосов
/ 28 декабря 2010
s/.*(\b[0-9-]+yo\+?\b).*/\1/

- это регулярное выражение, которое вы, похоже, ищете

...