まず、2 つの特殊文字「^」と「$」を見てみましょう。これらはそれぞれ文字列の先頭と末尾を一致させるために使用されます。いくつかの例を次に示します。
"^The": "The" で始まる文字列と一致します;
"of Peace$": "of Peace" で終わる文字列と一致します;
"^abc$": abc で始まり abc で終わる文字列と一致します。実際には、abc のみが一致します。
"notice": Notice を含む文字列と一致します。
前述した 2 つの文字 (最後の例) を使用しない場合、テスト対象の文字列のどこにでもパターン (正規表現) を出現させることができ、両側にロックしないことがわかります。
また、「*」、「 」、「?」という文字もあり、それぞれ「0 個以上」、「1 個以上」、「」を表します。 0 または 1。」 いくつかの例を次に示します:
"ab*": 文字列 a と 0 個以上の b ("a"、"ab"、"abbb" など) で構成される文字列と一致します。
"ab ": 上記と同じですが、少なくとも 1 つの b ("ab"、"abbb" など);
"ab?": 0 または 1 つの b に一致します;
"a?b $": 1 または 0 a と 1 つ以上の b で終わる文字列と一致します。
など、中括弧内の文字数を制限することもできます。
"ab{2}": a の後に 2 つの b が続く (1 つ減らない) と一致します ("abb");
"ab{2,}": 少なくとも 2 つの b("abb"、"abbbb" など);
を更新します。
"ab{3,5}": 2-5 b("abbb"、"abbbb"、または "abbbb")。
また、常に指定する必要があることにも注意してください (つまり、「{,2}」ではなく「{0,2}」)。次の 3 つはそれぞれ「*」、「 」、「?」です。範囲の注釈は同じで、「{0,}」、「{1,}」、および「{0,1}」です。
ここで、特定の数の文字を括弧の中に入れます。例:
"a(bc)*": a の後に 0 または 1 つの "bc" が続くものと一致します;
"a(bc){1,5}": 1 ~ 5 "bc."
OR 演算に相当する文字「│」もあります:
"hi│hello": "hi" または "hello" を含む文字列と一致します;
"(b│cd)ef": "bef" または "cdef" を含む文字列と一致します;
"(a│B)*c": 複数の (0 を含む) a または b の後に c 文字列が続く文字列と一致します。
ドット (「.」) はすべての単一文字を表すことができます:
"a.[0-9]": a の後に文字が続き、その後に数字が続きます (このような文字列を含む文字列が一致します。この括弧は将来省略されます)
"^.{3}$": 3 文字で終わります。角括弧で囲まれた内容は 1 文字のみと一致します
"[ab]": 単一の a または b に一致します ("a│b" と同じ);
"[a-d]": 'a' から 'd' までの 1 文字に一致します ("a│b│c│d" および "[abcd]" と同じ効果);
"^[a-zA-Z]": 文字で始まる文字列と一致します
"[0-9]%": x% を含む文字列と一致します
",[a-zA-Z0-9]$": カンマで終わり、その後に数字または文字が続く文字列と一致します
括弧内に入れたくない文字をリストすることもできます。括弧の先頭に「^」を使用するだけです (つまり、「%[^a-zA-Z]%」は 2 つのパーセント記号に一致します)。内部に文字以外の文字列が含まれています)。
説明するには、「^.[$()│* ?{」は特別な意味を持つ文字なので、これらの文字の前に''を追加する必要があり、php3では先頭に使用することは避けるべきです。 pattern の正規表現 "($│?[0-9] " は、 ereg("($│?[0-9] ", $str) と呼ばれる必要があります (正しいかどうかはわかりません) php4でも同じです)
角括弧内の文字はこのルールの例外であることを忘れないでください
www.bkjia.com