2016-10-25 9 views
1

私は、文字列を有する正規表現PHPマッチ "{ループVAR =" W_ [] "}"

{ループVAR = someText} someTextであることができる

:\ Wまたは_または[OR]

私はこれを持っている:のいずれかの文字列全体を一致させるために

/[{loop var=][\w_\[\]][}]/ 
or 
/\b{loop var=\b[\w_\[\]]\b}\b/ 

ニーズ以下

{loop var=MainMenu} 
{loop var=menu[0]} 
{loop var=Menu_main} 
+0

あなたは改行で爆発し、等価で爆発する可能性があります – nogad

+0

これはJavaScriptと関係がありますか? – vlaz

+2

あなたはあなたの他の質問を改善/コメントすることができます。 – AbraCadaver

答えて

0

あなたは非定量化文字クラス内[{loop var=][\w_\[\]]を同封する場合regex demo

を参照してください

/{loop var=[][\w]+}/ 

使用することができ、あなたがを一致させる必要がある一方で、1つの文字に一致するサブパターンを作りました文字列

詳細

  • {loop var= - リテラル文字列
  • [][\w]+ - 一つ以上の文字セットから(+)文字 - 単語の文字(税込_。)、] and [ `
  • } - aリテラル}
+0

それをチェック....ちょっとだけ.... – Nate

+0

私はこれを実行しました:$ string = 'asdf {loop var = menu [0]}'; preg_match( '/ {ループ変数=([\] [\ w] +)} /'、$ string、$ matches); var_dump($ matches);完全な文字列(hooray!)と "menu [0]"を返す、それが "menu [0]"を返さないようにする方法はありますか? – Nate

+0

*グループが必要ない場合は、 '('と ')' *を削除してください。 - 答えを編集しました。 –