我有这个正则表达式:
if(preg_match("/^(\\d+)(,)(\\d+)$/") ) { ... }
测试用户输入了一对用逗号分隔的数字(例如120,80)。我有那个部分正常工作。但是,我预计用户可能会意外地在任何字符之间输入空格。我想使表达式忽略所有空白字符,无论它们出现在模式中的哪个位置。我试过这个:
if(preg_match("/x^(\\d+)(,)(\\d+)$/x") ) { ... }
还有这个:
if(preg_match("/(^(\\d+)(,)(\\d+))$/x") ) { ... }
但似乎没有任何效果。任何见解将不胜感激。顺便说一下,我还在学习这些东西,所以考虑到这一点!谢谢。 :d
答案 0 :(得分:3)
在进行正则表达式匹配之前,您可能只是删除空格。
$input = str_replace(" ", "", $input);
答案 1 :(得分:2)
尝试:
if(preg_match("/^\s*\d+\s*,\s*\d+\s*$/",$input) ) {
// $input has two numbers separated by a comma and may have whitespace
// around the number and/or around the comma.
}