phpと正則の使用

4538 ワード

正規表現はphpにおける非常に重要な知識点であり、文字列の検索と置換に一般的に使用され、メールフォーマット、電話フォーマットなど、ユーザーが入力した情報フォーマットが正しいかどうかを検証することが最も一般的です.また、コレクターなどのソフトでは、正則も必要です!これから正規表現の基本文法を勉強します:1."/"はデリミタであり、"/"デリミタの間の部分はターゲットオブジェクトで一致するモードである.また,正規化をより柔軟にするために,「+」,「*」,「?」というメタ文字を導入した.(1)「+」メタ文字は、その先頭文字がターゲットオブジェクトに1回以上連続して出現しなければならないことを規定する.例えば、/php+/、「phpp」と一致することができる.すなわち、アルファベットphの後ろに1つ以上のアルファベットpが連続して出現する文字列と一致する.(2)「*」メタ文字は、その先頭文字がターゲットオブジェクトに0回以上出現しなければならないことを規定する.例えば、/php*/phpddt一致する、すなわちphの後ろに0個以上のp(3)"?メタ文字は、そのプリアンブルがターゲットオブジェクトに0回または1回連続して表示される必要があることを示します.例えば:/php?/「pher」マッチングが可能です.すなわち、phhの後ろに0つまたは1つのpの他の重要なメタ文字があります.
  • s:tabキーと改行を含む単一のスペース記号を一致させる.
  • S:1つのスペース以外のすべての文字を一致させるために使用されます.
  • d:0から9までの数字を一致させるために使用されます.
  • w:アルファベット、数字、または下線文字を一致させるために使用されます.
  • W:wと一致しないすべての文字を一致させるために使用されます.
  • . :改行以外のすべての文字を一致させるために使用します.

  • 例:/s+/ターゲットオブジェクトに一致する1つ以上のスペース文字2.ロケータは、ターゲットオブジェクトにおけるマッチングモードの出現位置を指定するために使用されます.よく使われるのは「^」、「$」です.「b」および「B」(1)「^」ロケータは、一致モードがターゲット文字列の先頭(2)「$」ロケータでなければならないことを規定する.一致モードがターゲットオブジェクトの末尾に現れることを規定する(3)bロケータは、一致モードがターゲット文字列の先頭または末尾の2つの境界の1つに現れることを規定する(4)「B」ロケータは、一致するオブジェクトがターゲット文字列の先頭と末尾の2つの境界内にある必要があることを規定する.phpの正規マッチングモードは非常に柔軟であり、例えば/[A-Z]/上記の正規表現がAからZまでの任意の大文字と一致する範囲を指定することができる./[a-z]/上記の正規表現は、aからzまでの任意の小文字と一致します./[0-9]/上記の正規表現は、0から9の範囲内の任意の数値と一致します./([za-][A-Z][0-9])+/上記の正規表現は、アルファベットと数字からなる任意の文字列4となる.例えば/phpddt.com|phpddt|100/「phpddt.com」「phpddt」「100」と一致することができる.否定符「[^]」は、ターゲットオブジェクトにモードで指定された文字列が存在しないことを規定します.例えば、[^phpddt]マッチングphpddt文字以外のすべてのものについて、正規表現の常用関数について説明しましょう.(非常に重要)
    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31 //preg_match(" "," ") $email = "[email protected]" ; if (preg_match( "/^([a-zA-Z0-9])+([.a-zA-Z0-9_-])*@([.a-zA-Z0-9_-])+([.a-zA-Z0-9_-]+)+([.a-zA-Z0-9_-])$/" , $email )){   echo '
    '
    ; } else {   echo '
    '
    ; } //preg_quote(" ") \     $str = "php php ,(⊙o⊙)…" ; echo preg_quote( $str ); echo "
    "
    ;     //preg_split(" "," ") $php = "+php++ ++++ " ; $field = preg_split( "/\+{1,}/" , $php ); foreach ( $field as $f ){ echo $f . " " ; } echo "
    "
    ; //preg_grep(" "," ") $phpddt = array ( "php " , "php100" , " " , "hahaha" , "phpchina" ); $item = preg_grep( "/^php/" , $phpddt ); print_r( $item );     echo "
    "
    ; //preg_replace(" "," "," ") , $a = " http://www.jb51.net/" ; // http echo preg_replace( "/http:\/\/(.*)\//" , "\${0}" , "$a" ); ?>