PHP regular expressions: No ending delimiter '^' found in
PhpRegexPreg MatchPcrePhp Problem Overview
I've been having some trouble with regular expressions.
This is my code
$pattern = "^([0-9]+)$";
if (preg_match($pattern, $input))
echo "yes";
else
echo "nope";
I run it and get:
> Warning: preg_match() [function.preg-match]: No ending delimiter '^' found in
Php Solutions
Solution 1 - Php
PHP regex strings need delimiters. Try:
$numpattern="/^([0-9]+)$/";
Also, note that you have a lower case o, not a zero. In addition, if you're just validating, you don't need the capturing group, and can simplify the regex to /^\d+$/
.
Example: <http://ideone.com/Ec3zh>
See also: PHP - Delimiters
Solution 2 - Php
Your regex pattern needs to be in delimiters:
$numpattern="/^([0-9]+)$/";
Solution 3 - Php
You can use T-Regx library, that doesn't need delimiters
pattern('^([0-9]+)$')->match($input);