-------------------------------------------------- ------- 通常収集
携帯電話番号:
$mode = "/^1[358]d{9}/";
メールアドレス:
$mode = "/^[a-z][-_.]?[a-zd]*@[a-z0-9] [.][a-z]{2,4}/i"; > -------------------------------------------------- - -------- 通常
$mode = "/^1[358]d{9}/i"
一致するモジュールは / / で始まり、終わる必要があります。 2 番目 / モード修飾子を後に続けることができます
atom
①a-z A-Z _ 0-9 //最も一般的な文字
②(abc) //括弧で囲まれた単位記号
③[abcs] [^abd] //角括弧で囲まれたアトミックテーブル、アトミックテーブル内の
^は除外または反対の内容を表します
dにはすべての数字[0-9]が含まれます
Dすべての数字を除く [^0-9]
w すべての英字を含む [a-zA-Z_0-9]
W すべての英字を除く [^a-zA-Z_0-9]
s には空白が含まれます[fnr]
metacharacters
* 前のコンテンツと 0 回一致します 1 回以上
1 回以上
? 0 回または 1 回
は任意の文字を表します (キャリッジ リターンとライン フィードを除く)
| PHP の || (「または」を意味します) と同等です
^ 文字列 $ 文字列の末尾の内容と強制的に一致します
[^abc] a、b、c 以外の内容と一致します
b 単語の境界と一致します。境界にはスペースまたは特殊記号を使用できます
B 任意のものと一致します単語境界以外のコンテンツ
{m} は、前のコンテンツの M 回の繰り返し回数と一致します。
{m,} は、前のコンテンツの M 回以上の繰り返し回数
{m と一致します。 ,n} は、前のコンテンツの M 回から N 回の繰り返し回数に一致します。
( ) は全体と一致し、それをメモリに格納します。
を取得するには、\1 または \2... を使用できます。順番に: メモリ処理のため、順番に
( ) 括弧を減らします。 では、最も高い
* は? { } 2 番目に一致する内容を繰り返します
^ $ b 境界処理 3 番目
| 条件付き処理 4 番目
最後に、操作の順序に従って一致を計算します
共通の修飾子: $mode = "/register / U";
i 通常のコンテンツはマッチング時に大文字と小文字が区別されません (デフォルトでは大文字と小文字が区別されます)
m 最初または最後のコンテンツとマッチングするときに複数行認識マッチングを使用します
S キャリッジ リターンをスペースに変換します
x は正規表現内の空白を無視します。
A は先頭からのマッチングを強制します。
D は $ を最後にコンテンツなしで一致させます。 n
U は貪欲なマッチングを禁止し、最も近い一致文字のみを追跡して終了します。 、
収集プログラムで一般的に使用される正規表現
Application
preg_match_all (string pattern, string subject, arraymatches [, int flags])
より詳細なコンテンツを傍受し、Web ページを収集し、テキストを分析する
preg_replace (混合パターン、混合置換、混合主語 [, int limit] )
preg_replace (混合パターン、混合置換、混合主語 [, int limit] )
ヒント 1. 置換コンテンツは次のとおりです。正規表現にすることができます 配列 Regular
にすることもできます 2. 置換内容は修飾子 e によって解決できます。 置換実行内容
preg_split ( string pattern, string subject [, int limit [, int flags]] )
を正規表現で解く カット関連のコンテンツは以前学習したエクスプロイトカット関数と似ていますが、エクスプロイト は一方向にしかカットできず、制限があります。
----------------------------------------------- --- -- デバッグ コード
[code]
$mode = "/^[a-z][-_.]?[a-zd]*@[a-z0- 9] [ .][a-z]{2,4}/i";
$str = "a12345@jb51.net";
echo $str.'