2011-10-26 49 views
3

我創建了一個可在Dreamweaver的正則表達式查找中工作的正則表達式模式,但是當放入preg_match模式時,它失敗。我在PHP(5.1.6)正則表達式規則中打破了什麼,否則在Dreamweaver的解釋中起作用?這裏是PHP:PHP中的正則表達式(preg_match)模式

preg_match("/(\{a\})([a-zA-Z0-9{} .])+(\{/a\})/i", "{a}{900678}{abcde}{0}{0}{0}{/a}"); 

當前返回false。我該如何修改該模式,以便它匹配任何以{a}開頭的字符串{/ a}類型字符串中的任何字符串?我意識到上面的正則表達式在中間不會匹配'任何',但是我簡化了表達式以進行調試。

+0

它不僅返回false,還應返回錯誤消息。 – mario

回答

4

/a部分的斜槓被解釋爲表達式的結束分隔符。您可能需要使用其他分隔符爲全模式,例如:

preg_match("~(\{a\})([a-zA-Z0-9{} .])+(\{/a\})~i", 
      "{a}{900678}{abcde}{0}{0}{0}{/a}"); 

See it in action