На SO есть тысяча вопросов по регулярным выражениям, поэтому я прошу прощения, если это уже освещено.Я посмотрел первым.
У меня есть строка:
Name Subname 11X22 88X620 AB33(20) YA5619 77,66
Мне нужно захватить эту строку: YA5619
Я просто нахожу AB33(20)
и после этого я захвата до первого пробела.Но AB33(20)
может быть AB-33(20)
или AB33(-20)
или AB33(-1)
.
Мое регулярное выражение preg_match: (?<=\bAB\d{2}\(\d{2}\)\s).+?(?=\s)
Почему я получаю ошибку при переходе с \d{2}
на \d+
?
Для окончательного результата я думал, что этот регулятор будет работать, но нет:
(?<=\bAB-?\d+\(-?\d+\)\s).+?(?=\s)
Есть идеи, что я делаю неправильно?