我很抱歉,我已經要求這一點,但無法找到一個解決辦法尚未:( 這裏是我的字符串:(你可以看到它有換行符)PHP的新手問題:正則表達式
Webname: [webname]
Username: [username]
IP: [IP]
我需要讀出方括號內的值 這裏是我的代碼:
$pattern = '/\[(.|\n)+?\]/'; // i've used the same syntax for my asp projects, always worked
preg_match($pattern, $txt, $matches, PREG_OFFSET_CAPTURE);
echo "matches:".count($matches)."\n\n";
foreach ($matches as $match)
{
echo $match[0]."\n";
}
我得到只有2場比賽:[webname]
和e
(???) 我與這擺弄了好幾個小時,現在並找不到什麼是wr ong ..
有什麼想法? 感謝
你的意思'+?'?或者'++'應該是什麼意思? – 2011-03-31 08:23:52
這是一個佔有量詞。沒有回溯,所以它比'+?'更快。你可以閱讀更多關於它[這裏](http://www.regular-expressions.info/possessive.html) – chriso 2011-03-31 08:37:09
有趣的是,我不知道....但它似乎PHP不能很好地工作。例如。如果我用'+'交換'?',我就再也找不到匹配了。順便說一下,你的代碼缺少'''併產生一個空數組。至少在我的系統上....你測試了你的代碼嗎? – 2011-03-31 08:46:58