正規表現にマッチする方法文字列IPアドレスです。

私たちは、一致するIPアドレスの正規表現を詳細に説明するためにここにいます。

説明の前に、私は、IPアドレス生成ルール、についてあなたを与えます。

IPアドレスは、小数点以下4つの文字列に32ビットの2進数です。

どのように変換?以下の説明:

      バイナリ:11111111111111111111111111111111

      これは、4つの部分に分かれています。11111111.11111111.11111111.11111111

      変換:7 + 2 ^ 2 ^ 2 ^ 6 + 5 + 4 + 2 ^ 2 ^ 2 ^ 2 + 3 + 2 + 2 ^ 0 ^ 1 = 255

      0〜255〜255〜255.0〜255.0:小数点以下の範囲に

      これは、IPアドレスの範囲です。

この世代IPルールと範囲によると、私たちは、IPアドレスと一致する正規表現を使用することができますが、それに合わせて、どのように?誰もが自分自身の方法を持っており、ここで私は自分の考えを説明します。

IPアドレスの文字列の法則によれば、IPアドレスは、私が考えるために、2つの部分に式を入れると一致します。

      最初の部分:(点後ことに注意してください)3 0〜255に一致します。

      第二部:255最後の桁0に一致します

      すなわち、(点の後ろことに注意)この文字列が、その後3回一致し、デジタル0〜255の最後の部分と一致繰り返さ255に最初に一致0です。これは、IPアドレスを一致させる私の考えです。

       私たちはIPの番号の範囲を選択されたデジタル動作モードを使用することはできませんので、まず第一に、私が言及したいと思い、大量の演算は、実行する方法はありませんされています。それは数クランチの方法により、IP番号の範囲を除外することはできませんので、我々はそれを使用する数値のこの範囲をフィルタリングする他の方法でなければなりませんか?私の考えは、番号の範囲を組み合わせたIPパケットを形成するために、それらを一緒に入れ、その後、グループディスカッションにあります。

       ①、IP番号はその後、IP番号の範囲に応じて、数百の桁であることを仮定して、我々は次のような状況を描くことができます。この数字の範囲は、[0-9] [0-9]に1であり、最初の数字が1であると仮定する。これは理解することは困難であってはならない、説明しません。

      ②、その後、IP番号のルールの範囲によれば、最初の数字が2であると仮定するが、また、ここでは2つのケースに分け、そしてなぜですか?ただ、数十の桁が5のときの最大数は5桁の唯一最大のそれではない、255だと思いますか?10桁が0-4である場合に、単一の数字は右、任意の数であってもよいですか?

だから、ここ2例は以下のとおりです。

           A、2 [0-4] [0-9]

           B、25 [0-5]

       ③、数百の桁を超える状況の分析は、次の10桁の場合であり、それが10桁の場合は、前回の10桁の番号は右、ゼロで最初にすることはできませんか?

例数十はそうかもしれ:[1-9] [0-9]

       [0-9]:④、残りは一桁の状況で、一桁の状況は、我々はという結論を引き出すことは非常に簡単なはずです。

4例の分析ダウン、我々は次のようにグループ化されたIP番号の範囲に来ます:

        1 [0-9] [0-9]

        2 [0-4] [0-9]

        25 [0-5]

        [1-9] [0-9]

        [0-9]

 どのように上記の式はそれの正のうちでグループを表し?非常に単純な規則的または記号で|とシンボルをグループ化()その上に、その正規表現をグループ化する以上です。

(1[0-9][0-9])|(2[0-4][0-9])|(25[0-5])|([1-9][0-9])|([0-9])

 

ここに書く、数字の範囲は、正規表現は、その後、前述のアイデアに基づいて、書き込まれた一致I:パートI:(ポイント以降のことに注意してください)3 0〜255に一致します。

         第二部:255最後の桁0に一致します

 私たちは次のように正規表現に一致するIPアドレスの最初の部分: 

(1[0-9][0-9]\.)|(2[0-4][0-9]\.)|(25[0-5]\.)|([1-9][0-9]\.)|([0-9]\.)

各数は255に点0とマッチングされた後、Iを加え(注その時点以降)

 それでは、どのようにそれを一致させるために3回繰り返しますか?非常に単純な限り、我々は、全体として5つのグループに入れ、その後、ラインマッチングに3回繰り返すと、正規表現は次のように: 

((1[0-9][0-9]\.)|(2[0-4][0-9]\.)|(25[0-5]\.)|([1-9][0-9]\.)|([0-9])\.)){3}

試合の最初の部分が出てきた、次のステップは、もはやここでは、説明し、上記デジタル部の第二の部分のデジタルステッチが非常に明確に書かれていません完全な正規表現です。

((1[0-9][0-9]\.)|(2[0-4][0-9]\.)|(25[0-5]\.)|([1-9][0-9]\.)|([0-9]\.)){3}((1[0-9][0-9])|(2[0-4][0-9])|(25[0-5])|([1-9][0-9])|([0-9]))

 

公開された69元の記事 ウォン称賛52 ビュー80000 +

おすすめ

転載: blog.csdn.net/qq_38983511/article/details/104720211