选择字符串我有以下的正则表达式它匹配以下正则表达式
/^\+[0-9]{1,3}\s[0-9]{1,6}\s[0-9\s]{5,8}$/u
在我的PHP代码。我无法理解哪个字符串会被这个表达式匹配。
我尝试以下
+7 777 777777
和不匹配......你能帮助我理解 - 什么字符将匹配这个正则表达式?
选择字符串我有以下的正则表达式它匹配以下正则表达式
/^\+[0-9]{1,3}\s[0-9]{1,6}\s[0-9\s]{5,8}$/u
在我的PHP代码。我无法理解哪个字符串会被这个表达式匹配。
我尝试以下
+7 777 777777
和不匹配......你能帮助我理解 - 什么字符将匹配这个正则表达式?
它确实匹配。您的代码中可能存在错误?这是正确的做法:
$s = '+7 777 777777';
$pattern = '/^\+[0-9]{1,3}\s[0-9]{1,6}\s[0-9\s]{5,8}$/u';
echo preg_match($pattern, $s);
结果:
1
看到它联机工作:ideone
是的,你是对的!谢谢!我试图在这里(http://www.regextester.com/)和这里(http://regexpal.com/)测试它,并且它说“没有匹配”。据我现在了解,这种服务只适用于^ \ + [0-9] {1,3} \ s [0-9] {1,6} \ s [0-9] {5,8} $变体正则表达式。 – dizpers
我以为同样的事情,但当我去codepad.org发布一个例子,我得到了一个错误,说'警告:preg_match():内部pcre_fullinfo()错误-3在第4行上“(http:/ /codepad.org/tBMeMoVW)(我不得不删除u修饰符,因为他们的php不是用utf8支持编译的,但是用这个简单的例子它应该没关系)。也许如果error_reporting被设置为显示警告,将会看到类似的错误。 –
这对我的作品。 –