У меня возникли проблемы с регулярными выражениями.
Это мой код
$pattern = "^([0-9]+)$";
if (preg_match($pattern, $input))
echo "yes";
else
echo "nope";
Запускаю и получаю:
Предупреждение: preg_match () [function.preg-match]: конечный разделитель '^' не найден в
php
regex
preg-match
pcre
пальчик
источник
источник
Ответы:
Строки регулярных выражений PHP нуждаются в разделителях. Пытаться:
Также обратите внимание, что у вас строчная буква o, а не ноль. Кроме того, если вы просто проверяете, вам не нужна группа захвата, и вы можете упростить регулярное выражение до
/^\d+$/
.Пример: http://ideone.com/Ec3zh
См. Также: PHP - разделители
источник
[
и]
разделители, иначе вы столкнетесь с конфликтом с самим шаблоном.Ваш шаблон регулярного выражения должен быть в разделителях:
источник
Вы можете использовать библиотеку T-Regx , для которой не нужны разделители.
источник