RegEx плохо распознает десятичное число

Я пытаюсь получить число с десятичной запятой, используя регулярное выражение, у меня есть эта строка, где рассматриваемое число

RewriteRule ^additem/[0-9]+(\.[0-9]{1,2})?$additem.php?price=$1

Однако, если я введу 2.02, сохраненная переменная будет .02. Что я делаю неправильно?

0

Решение

Вам нужно добавить пробел между шаблоном и заменой и использовать группу захвата вокруг всего шаблона значения с плавающей запятой:

RewriteRule ^additem/([0-9]+(?:\.[0-9]{1,2})?)$ additem.php?price=$1
^       ^^            ^^^

Увидеть regex demo

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector