2010-12-04 17 views
2

私はしばらくの間、PHPを学んできました。初心者のPHPヘルプが必要

私は次のように異なる区切り記号と呼ばれるpreg_match機能を見てきました:

preg_match('/.../') 

preg_match('#...#') 

今日も使用されている%を見ました。

私の質問は2つの一部です:すべての文字を使用することができますどのような

標準はありますか?

+1

:違う区切り、正規表現に存在しないもの、あなたの正規表現が短いときれいになるという方法を選択する方が良いエスケープ回避するために

。 –

答えて

4

どれ

  • 英数字以外の
  • 非空白と
  • 非バックスラッシュASCII文字

は、区切り文字として使用することができます。

({ [ < 

その後、それらに対応する閉じ句読点が終了の区切り文字として使用する必要があります:

) } ] > 

最も一般的な区切り文字を開けるようオープニング句読点記号を使用している場合も

区切り記号は/です。
しかし、/が正規表現の一部である場合は、別の区切り文字を使用することをお勧めします。

例:

// check if a string is number/number format: 
if(preg_match(/^\d+\/\d+$/)) { 
    // match 
} 

正規表現は、区切り文字が含まれているので、あなた正規表現で見つかった区切り文字をエスケープする必要があります。それは単なる好みの問題だ

if(preg_match(#^\d+/\d+$#)) 
+0

追加するだけで、開閉記号を使用しない場合、式の最初の文字は最後の文字と同じでなければなりません。そうでない場合はエラーが発生します。 –

+0

ありがとうございます。 – vist520

関連する問題