В вашем регулярном выражении есть пробелы, удалите их:
/expire\s*=\s* (?: 0[1-9]|[1-9][0-9])/
^ ^
Также регулярное выражение 0[1-9]|[1-9][0-9]
не соответствует 0
.
РЕДАКТИРОВАТЬ:
Исходя из ваших комментариев, вы хотите разрешить число от 1-99
после expire=
, чтобы вы могли использовать:
/^expire\s*=\s*(?:[1-9]|[1-9][0-9])$/
или более короткую версию:
/^expire\s*=\s*(?:[1-9][0-9]?)$/
Поскольку ваш пример имеет 0
после expire=
, он не будет сопоставлен.
Также обратите внимание, что я добавил начальный и конечный якоря.Без них регулярное выражение может соответствовать любой допустимой подстроке ввода.Пример может соответствовать expire=99
во входных данных expire=999