ユーザ用ツール

サイト用ツール


日本語文字で正規表現

差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

日本語文字で正規表現 [2013/11/28 11:24] (現在)
luis_lee 作成
ライン 1: ライン 1:
 +
 +preg_match関数やpreg_replace関数、
 +
 +ereg関数などの正規表現のパターン文字列は、
 +
 +Shift_JIS文字列を使うとエラーが出ることがあります。
 +
 +あくまで正規表現のパターン文字列に日本語文字を使ってはいけないのではなくて、
 +
 +日本語文字を使うときには注意しないといけないということです。
 +
 +  if(preg_match("/​ゼータ/",​ $str)){
 +    echo "​OK";​
 +  }else{
 +    echo "​NG";​
 +  }
 +
 +  Warning: preg_match() [function.preg-match]:​ Compilation failed: missing terminating ] for character class at offset 10
 +
 +回避方法 ​  
 +
 +これを回避するには、preg_quoteを使います。
 +
 +  if(preg_match("/"​.preg_quote("​ゼータ","/"​)."/",​ $str)){
 +    echo "​OK";​
 +  }else{
 +    echo "​NG";​
 +  }
  
日本語文字で正規表現.txt · 最終更新: 2013/11/28 11:24 by luis_lee