【发布时间】:2014-02-06 11:07:42
【问题描述】:
所以我试图解析从外部网页中提取的数字序列。
preg_match('#([0-9]{3}\s[0-9]{3}\s[0-9]{3}){1}#', $element, $match);
虽然回显 $element 显示正确的表达式,但不会返回任何结果:
341 102 408 AAA Bccc
当然,当我在在线正则表达式测试仪上使用上述字符串尝试上述正则表达式时,我得到了预期的结果...... 我在想可能有一个看不见的字符代替了空白,但找不到它。我真的快疯了……
编辑:
奇怪的是,这确实删除了输入字符串的每个空格,除了我要提取的表达式:
$element = preg_replace("/\s/", "", $element);
【问题讨论】:
-
对输入字符串执行
var_dump。 -
你知道
preg_match不返回结果吗?在您的示例中,$match将是一个包含匹配项的数组 -
否则您可以从末尾删除 {1}。这是默认设置。
-
试过 var_dump,我仍然得到空格,还尝试删除 {1} 而没有改变
-
我知道 preg_match 不会返回结果 :)
标签: php regex preg-match whitespace