2016-04-22 2 views
0

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

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

Однако если ввести 2,02, хранимые переменный +0,02. Что я делаю не так?

+2

Вы пропускаете пространство на границе ваш образец и замена. Я думаю, вам нужно 'RewriteRule^additem/([0-9] + (?: \. [0-9] {1,2})?) $ Additem.php? Price = $ 1' –

+0

Спасибо, это сделало трюк –

+0

Используйте комментарии, чтобы получить дополнительную информацию или предложить улучшения. Избегайте ответов на вопросы в комментариях. – Pietro

ответ

1

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

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

См regex demo

Смежные вопросы