匹配9位数字符串

时间:2011-05-02 09:04:11

标签: php regex preg-match

我正在尝试将9位数字字符串与以下代码匹配,但它只返回此<查看远程页面的源代码,这是我想要匹配的示例{{1 }}

&cd=225730313"

3 个答案:

答案 0 :(得分:4)

你忘记了preg_match的第二个参数。您也可以考虑提取括号(索引1)而不是整个模式(索引0)。

$url = file_get_contents($source);
preg_match('/([0-9]{9})/', $url, $match);
echo $match[1];

我认为你获得<的原因是因为你之前使用过$ match,它包含一个以<开头的字符串。你问题中使用的preg_match不会改变$ match,因此$ match [0]是$ match中包含的字符串的第一个字符(字符串可以像PHP中的数组一样访问)。

答案 1 :(得分:0)

怎么样:

preg_match('/^[0-9]{9}+$/', $match) 

或者这个:

preg_match('/\d{9}/', $match)

答案 2 :(得分:0)

$url = file_get_contents($source);
preg_match('/([0-9]{9})/', $match);
echo $match[1];

索引0包含与整个模式的匹配,1第一个子模式,依此类推。

编辑:

要获得&cd=之后的数字我建议扩展模式,它也匹配这个数字。

/&cd=([0-9]{9})/