強力なipフォーマットの正規表現の検証


詳細
IPアドレスの入力フォーマットを検証する必要があるものを見ましたが、あまり適切ではありません.使う必要があります.これを使ってください.
/^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/

 
 
その他参照
まず皆さんに質問します:php?name=%B1%E0%B3%CC%D3%EF%D1%D4"onclick="tagshow(event)"class="t_tag">プログラミング言語(rubyなど)で最も重要なデータ型は何ですか?オブジェクト、配列....実はString(文字列)で文字列の処理の大部分はマッチングに依存していますが、マッチング方法では、正規表現は「降龍十八掌」です次に、正規表現を学習します.まず、メタ文字です.:改行以外の任意の文字をマッチさせる[x]:中括弧中の任意の文字をマッチさせる[abc]のようにaまたはbまたはc[^x]:x以外の任意の文字をマッチさせる:[^abc]のようにa/b/c以外の任意の文字をマッチさせる^:マッチ開始場所:^aはaで始まるものを表し、^[a-z]は任意のアルファベットで始まる$を表す.マッチングの終了箇所は、a$はaで終わるx|yを表す.マッチングxは^[a-z]|^[0-9]は任意の小文字で始まる、または任意の数字で始まる.実装上このマッチングは^[a-z 0-9]と書くこともできますが、|やはりその独自の適用点のある量詞(限定子):0回または1回繰り返す× :0回以上繰り返す+:1回以上繰り返す{m}:m回以上繰り返す{m,}:m回以上繰り返す{m,n}:m回からn回まで繰り返す例えば「aaa」「aaaaa」「aaaaa」正規表現/^a{2,3]$/は、先頭から末尾までの間に2個から3個のaが連続することを意味するため、1番目と2番目の文字列に一致する.例:「d 3 df」「abcd」「3 dfs 4」「dfsde」、正規表現/^[a-z]*$/は2番目と4番目に一致することができます.この式は、先頭から末尾まで0文字以上(複数に制限されない)a-z以内の文字(すなわち小文字)ですが、この例では/[a-z]*/で成功した4つの文字列を一致させることができます./[a-z]+$/を置き換えると、3番目の文字列以外の3つの文字列しか一致しません.どうして?この式は、1つ以上の連続したa-z内(すなわち小文字)の文字で終わる.共通文字セットs:すべての空白文字S:すべての空白文字w:すべてのアルファベット、数字、下線、漢字の文字W:すべてのアルファベット、数字、下線、漢字ではない文字d:すべての数字文字D:すべての非数字文字b:単語の開始または終了B:単語または開始ではない位置グループを一致させる上で例として{}× +複数の文字を繰り返すことができ、1つの文字列を繰り返すにはどうすればいいのか、カッコでサブエクスプレッション(パケットとも呼ばれる)を指定し、このサブエクスプレッションの繰り返し回数を指定することができます.例えば、IPアドレスを簡単に一致させることができます(d{1,3}.){3}d{1,3}この式は、前の括弧の中で数字に一致する1~3文字と1文字を意味します.次の{3}は、前の括弧全体に一致する内容(すなわち文字列)を3回繰り返し、後に1~3ビットの数字を一致させた後、前のパケットに一致するテキストを繰り返し検索するための後方向参照を繰り返します.たとえば、1はグループ1の一致を表すテキスト例b(w+)s*1この式または2つの連続する単語を一致させ、bは単語の開始位置を一致させ、w+は任意の文字の少なくとも1つを一致させ、括弧で最初のグループを行い、s*は0つ以上のスペースを一致させ、後ろの1はhello hello helloのような前の最初のグループの一致に成功した文字列を参照します.b(w+)が最初のhelloに一致する場合、1はその値--hello(?=exp)を使用して、テキストの一部の位置に一致し、これらの位置の後ろに所定の接尾辞expに一致するゼロ幅先行断言または正予査とも呼ばれます.例えば/b/w+(?=ing/b)は、ingで終わる単語の前の部分(ing以外の部分)と一致し、I'm singing while you're dancing.の場合、singとdancが一致します.(?!exp)ゼロ幅負方向先行断言は、接尾辞expが存在しない位置にのみ一致する./d{3}(?!/d)は3桁の数字に一致し、この3桁の数字の後ろには数字ではありません.正規表現に重複を許容できる制限子(指定された数のコード、例えば*,{4,8}など)が含まれている場合、通常、式全体を一致させることができる前提でできるだけ多くの文字を一致させる.この式を考慮すると、a.*bは、最も長いaで始まり、bで終わる文字列に一致します.これを使用してaaabを検索すると、文字列aaab全体に一致します.これは貪欲マッチングと呼ばれています*+{}の後ろに追加されますか?非貪欲な方法でマッチングすることを表して、更に前例で、a.*?b aaabをマッチングすると、aabの下によく使われる正規表現がマッチします.中国語文字をマッチングする正規表現:[u 4 e 00-u 9 fa 5]コメント:中国語をマッチングするのは本当に頭が痛いことです.この式があれば2バイト文字(漢字を含む):[^x 00-xff]コメント:文字列の長さ(1バイト文字長計2,ASCII文字計1)を計算するために使用できる空白行に一致する正規表現:s*rコメント:空白行に一致するHTMLタグを削除するために使用できる正規表現:]*>.*?|<./>コメント:ネット上で流布されているバージョンはあまりにも悪いので、上のこれも部分的に一致するだけで、複雑なネストマークに対して依然として最初の空白文字を一致させることができない正規表現:^s*|s*$コメント:行の最初の行の最後の空白文字(スペース、タブ、ページ変更などを含む)を削除することができます.非常に有用な式はEmailアドレスの正規表現に一致します:w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]w+)*コメント:フォーム検証時にURLに実用的に一致する正規表現:[a-zA-z]+:/[^s]*コメント:ネット上で流布するバージョン機能は限られており、上記は基本的に需要マッチングアカウントが合法かどうかを満たすことができる(アルファベットの先頭、5-16バイトを許可し、アルファベットの下線を許可する)^[a-zA-Z][a-zA-Z 0-9_]{4,15}$コメント:フォーム検証時に実用的に国内電話番号に一致:d{3}-d{8}|d{4}-d{7}コメント:マッチング形式は0511-4405222または021-87888822マッチング騰訊QQ番号:[1-9][0-9]{4,}コメント:騰訊QQ番号は10000から中国郵便番号に一致する:[1-9]d{5}(?!d)コメント:中国郵便番号は6桁のデジタルマッチング身分証明書:d{15}|d{18}コメント:中国の身分証明書は15人または18人がipアドレスに一致しています:d+.\d+\.\d+\.d+コメント:ipアドレスを単純に一致させる場合に特定の数字を一致させる:^[1-9]d*$//正の整数^-[1-9]d*;//負の整数に一致^-?[1-9]d*$//マッチング整数^[1-9]d*|0$//マッチング非負整数(正整数+0)^-[1-9]d*|0$//マッチング非正整数(負整数+0)^[1-9]d*.\d*|0\.d*[1-9]d*$//正浮動小数点数^-([1-9]d*.d*|0.d*[1-9]d*)/負浮動小数点数^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$//一致浮動小数点数^[1-9]d*.\d*|0\.\d*[1-9]\d*|0?\.0+|0$//非負浮動小数点数(正浮動小数点数+0)^(-([1-9]d*.d*|0.d*[1-9]d*)|0?.0+|0$//非正浮動小数点数(負浮動小数点数+0)コメント:大量のデータを処理する際に役立ちます.特定の文字列の一致を修正するには、^[A-Za-z]+$//26文字からなる文字列^[A-Z]+$//26文字の大文字からなる文字列^[a-z]+$//26文字の小文字からなる文字列^[A-Za-z 0-9]を一致させる+$//数字と26文字の英字からなる文字列^w+$//数字、26文字の英字または下線からなる文字列を一致