我在一個字符串名爲$測試下面的文字出現故障:正則表達式,沒有錯誤
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