我在一个字符串名为$测试下面的文字出现故障:正则表达式,没有错误
Content-Type: text/plain
Server: testapp (4.2.1 (x86_64/linux))
Content-Length: 125
{"password":"123","email_address":"","name":"j.doe","username":"jd123"}
我试图用PHP编写一个正则表达式,将内容长度后返回的一切:125 这里的我到目前为止:
if (preg_match('/^Content\-Length\:[0-9\\n]+([a-zA-Z0-9\{\}\"\:])*/',$test,$result))
{
var_dump($result[1]);
}
我没有收到任何错误消息,但没有找到我在字符串中定义的模式。 我也尝试过这种模式:
'/^Content\-Length\:[0-9\\n]+([a-zA-Z0-9{}\"\:])*/'
,我试图删除逃生焦盈大括号的。但它仍然是一个不行。
你能告诉我我错过了什么吗? 谢谢。
编辑1
我的代码现在看起来像这样:
<?php
$test = "Content-Type: text/plain
Server: kamailio (4.2.1 (x86_64/linux))
Content-Length: 125
{"password":"test123","email_address":"","name":"j.doe","username":"jd123"}";
//if (preg_match('/Content-Length\:[0-9\\n]*([a-zA-Z0-9{}\"\:])*/',$test,$result))
//{
// var_dump($result);
//}
preg_match('/({.*})/', $str, $matches);
echo $matches[0];
?>
这给了我以下错误:
Undefined offset: 0 in /var/www/html/test/test.php on line 31
第31行就是我试图呼应比赛。
它与任何内容不匹配 – Cfreak 2015-02-10 21:58:28
而且您应该看到其他错误,因为您正在脱离字符串。再次尝试我的答案... – 2015-02-10 21:59:24
你在文字后有无与伦比的空白。在正则表达式中的第一个之后添加空格。 – 2015-02-10 22:59:35