2011-10-26 9 views
3

Dreamweaverのregex Findで動作する正規表現パターンを作成しましたが、preg_matchのパターンにドロップすると失敗します。 Dreamweaverの解釈でうまくいくPHP(5.1.6)の正規表現の規則は何ですか?ここにPHPがあります:Regex in 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