この章では、白の一部を支援するために、だけでなく、彼らの将来忘れ知識ポイントを防ぐために、のテーマへの正式エントリーを聞かせて期待して、あなたと正規表現のいくつかの基本的な使用方法を共有したいと思います。
まず、正規表現
図1に示すように、共通のテキスト文字(例えば、文字Z)とその特殊文字(メタ文字と呼ばれる)によって正規表現パターン。
2、テンプレートとして正規表現は、検索文字列と一致する文字パターン。
プログラムまたはWebページ処理文字列を書き込むとき3、文字列が特定の複雑なルールを満たして見つけるか、交換する必要があることが多いです。
4、正規表現は、コードテキストのルールを記録することです。
役割:
1、データを検索する
データの置き換え、2を
(抽出された一致する文字列、文字列、文字列を置換)正規表現をどうしますか
第二に、正規表現を構成します
1、普通の文字
これは、大文字と小文字、すべての数字、すべての句読点や特殊記号のすべてを含んでいます。
例:こんにちは、世界のxyh666
図2に示すように、キャラクタ・セット(の定義範囲) (この点は、結合を達成するために必要な文字列修飾子を一致させるために、単一文字一致である)
[AE]は 単一文字の電子文字を表す
[AEIOU] AEIOUを表します5文字の特定の文字、請求
[-ZA-Z]は 単一の文字で、大文字、小文字を表し、
[0-9]は 0〜9までの数字を表します。
^ 非表し
[^ lsjd] :括弧内ではない任意の文字
[^ AF] :範囲AF外の任意の文字を
3、文字の組み合わせ(大文字以外で表される)(この点は結合達成するために必要な文字列の修飾子を一致させるために、単一の文字が一致しています)
\ dは :数字の文字と一致します。[0-9]に相当します。
\ D :数字以外の文字にマッチします。これは[^ 0-9]と同じです。
\ wは :文字や数字や文字またはアンダースコアにマッチします。
\ W :非アルファベット、非数値、非A非漢字および下線文字にマッチします。
\ S :マッチングスペース、タブ、改ページなどを含む任意の空白、。[\ F \ nは\ rを\と同じですトン\ V]。
\ Sは :任意の非空白文字にマッチします。等価である[^ \ F \ nは\ rを \トン\ V]。
\ B :一致する単語が開始または終了。
\ B :単語の先頭や末尾位置を一致されていません。
4、特殊文字
$ :文字列の終わりを示します。
^ :(の範囲内で非言った)文字列の開始位置を示します
。 :マッチング点に加えて、改行\ N-以外の任意の1文字を表します(バインディングを達成するために必要な文字列修飾子と一致するように)
| :または手段、[...]同様で指定された2つの間の選択
\ :このシンボルが使用されているエスケープ
() :サブマークの開始及び終了位置表現をグループ化します。
図5に示すように、共通の修飾子
=================マッチの数は=================
{M} :厳密なフロントユニット表示されるm回
{M} :フロントユニットは、少なくともm個発生
{M、N} :フロントユニットは、n倍まで、少なくともMを発生
================= ========================
================複数のヒット====== ===========
* :0またはそれはユニットの前に表示され、任意の回数
+ :回または少なくとも一度はそのユニットが先行試合以上出現
? :ユニットの前面には、0または1を表示されます怠惰な試合時間(可能な一致限り短く)
=========================================
6、貪欲と怠惰(貪欲と非欲張りモード)(できるだけ長く、可能なマッチ限り短くとして一致)
*?任意の回数を繰り返したが、わずか繰り返し
+? 1回以上、あまり重複可能な限り繰り返します
?? 0又は1を繰り返したが、繰り返し可能な限り少ない
{N、M}は?いくつかを繰り返すとしてm回にN繰り返したが、
{N}? n回以上繰り返したが、以下のように繰り返します
7、グループ
使用する場合()は、正規表現のグループを定義し、正規のエンジンのグループは、バッファに格納された順序番号に一致します。
デフォルトでは、各グループが自動的にグループ番号を持って、ルールは次のとおり、パケットの最初の発生のグループ番号が1であり、2秒、ためにフラグの括弧グループを左へ、左から右へように。
私たちは、グループが「\デジタル」アプローチによって、キャッシュされている参照することができます。\ 1 \ 2は2番基を指し、そして、マッチングの最初のセットを指します。
ブラケットでは、マッチ全体として扱われます。
8、非マッチング及びプレ調査
非マッチング:その後、エンジンがキャッシュのセットを正しく一致されることはありませんが、私たちは私たちのグループ、「\デジタル」アプローチによって参照することはできません。
事前チェック:マッチが発生した後の次の試合は、むしろ事前調査が含まれた文字から始まるよりも、すぐに検索を開始した後、事前チェックは、つまり、最後の試合に文字を消費しません。(すなわち、事前スクリーニング表現文字列のために消費されません)
(?:パターン) 非アクセス一致するが、パターンマッチングの結果に合致取得するのではなく、後の使用のために格納されていません。モデルのパーツを組み合わせたときに便利です|これは、「()」の使用または文字です。たとえば、「産学(?:Y | IESは )」 |より簡単な表現「業界の産業」以上です。
(?=パターン) 非マッチング、正肯定事前調査、任意のパターンマッチング文字列の先頭に検索文字列にマッチする、マッチは後で使用するために取得する必要はありません。たとえば、 "Windowsの(= 95?| 98 | NT | 2000)は、" "Windowsの"中"のWindows2000"を一致させることができますが、 "Windowsの"中"Windows3.1"に一致することはできません。事前チェックは、つまり、文字を消費しないマッチが発生した後、次の試合後の最後の試合ではなく、事前の調査が含まれていた文字から始まるよりも、すぐに検索を開始します。
(?!パターン) 非マッチング、正負の事前調査、パターンの先頭に検索文字列にマッチする文字列のいずれにも一致しない、マッチは後で使用するために取得する必要はありません。たとえば、 "Windowsの(95 | ?! 98 | NT | 2000)は、" "Windowsの"中"Windows3.1"を一致させることができますが、 "Windowsの"中"のWindows2000"と一致することはできません。
(?<=パターン) 非アクセス一致が、逆は確かに事前調査であり、そして確かに前方同様の事前調査が、反対方向に。たとえば、 "(<= 95?| 98 | NT | 2000)Windowsは、" "Windowsの"中"2000Windows"を一致させることができますが、 "Windowsの"中"3.1Windows"と一致することはできません。
(?<!patte_n) 非アクセス一致し、逆負の事前調査似ていますが、反対方向前方負の事前調査で、。例えば、 "(<95 | ?! 98 | NT | 2000)Windowsは、" "Windowsの"中"3.1Windows"を一致させることができますが、 "Windowsの"中"2000Windows"と一致することはできません。
第三に、例えば、ショー
次の二番目に大きいポイントの内容のために、我々は説明するためにいくつかの例を与えます:
継続するには.......
正規表現テスター:
リンク:HTTPS:// pan.baidu.com/s/1CwyrLH2dwbBk1KVi2FCGDwの 抽出コード:nwyc