C沠正則表現の分解と変換IPアドレスの例(C啢正則表現大全c氡正則表現文法)
数字だけ入力できます。「^[0-9]*」。
n桁の数字しか入力できません。「^\d{n}」。
少なくともn桁の数字しか入力できません。
m~n桁の数字しか入力できません。「^\」d{m,n}
ゼロと非ゼロの先頭の数字しか入力できません。「^((0|[1-9]、[0-9]*」。」
2桁の小数の正の実数しか入力できません。「^[0-9]+(.[0-9]{2}?)」
1位から3位までの正の実数しか入力できません。「^[0-9]+(.[0-9]{1,3])?」。
ゼロ以外の正の整数しか入力できません。「^\+?」1−9"[0-9]*"。
ゼロ以外の負の整数を入力することができます:'^\-[1-9][]0-9'*。
長さ3の文字しか入力できません。「^.{3}」。
26文字のアルファベットからなる文字列しか入力できません。
26文字のアルファベットからなる文字列しか入力できません。
26文字の小文字アルファベットからなる文字列しか入力できません。
数字と26文字のアルファベットからなる文字列しか入力できません。
数字、26文字、またはアンダースコアからなる文字列しか入力できません。
ユーザーパスワードを検証します。「^[a-zA-Z]」\w{5,17}」の正しいフォーマットは、アルファベットで始まり、長さは6~18の間に、文字、数字、下線のみが含まれます。
確認は^%&'、=?\"を含んでいますか?などの文字:'^%',=?\?\'x 22"+"です。
漢字のみ入力できます。「\\u 4 e 00-\u 9 fa5」{0、}」
Emailアドレスを検証します。「^\w+」(-+)*@\w+(-)\w+(*)*\.\w+([-]/)*」。
Internet URLを検証します:「^http:/(\w-」+\.)+「\w-」+(//[w-./?%%*)?」。
電話番号を検証します:「^(\\\\\\d{3,4}-)?\」d{7,8}「正確なフォーマットは:」XXXX-XXXX"、「XXXX-XXXXX」、「XXXXX-XXXX」、「XXXX-XXXX」、「XXXX-XXXXX」とXXXX"、「XXXXXX"と"XXXX"と"XXXX"です。
身分証明書番号(15桁または18桁の数字):「^\d{15}|\d{18}を検証します。」
一年の12ヶ月を検証します。1−9]“~”1[0-2])$正しいフォーマットは、“01”~”09“和”1“~”12”である。
一ヶ月の31日間検証します。1−9)|((1 124; 2)[0-9])|30|31)$01「~」09「和」1「~」31」。
正規表現を使用して、ウェブフォーム内のテキスト枠の入力内容を制限します。
正規表現での制限は中国語しか入力できません。onkeyup="value=value.replace(/^\u 4 E 00-\u 9 FA 5]/g,'')"onbeforepaste="clipboardData('text',clipboard Data.get Data('text Data)
正規表現では全角文字しか入力できません。onkeyup=「value=value.replace(/^\uFF 00-\uFFFF)/g,')」onbeforepaste=「clipboardData(text',clipboard Data.get Data(text Data).place).」
正規表現では数字しか入力できません。onkeyup=「value=value.replace(/^\d)/g、')」onbeforepaste=「clipboard Data.set Data('text',clipboard Data.gets('text').replace(/')。
正規表現では数字と英語しか入力できません。onkeyup=「value=value.replace(/[W]/g、')」onbeforepaste=「clipboard Data.set Data('text',clipboard Data.getData(text').replace(/[/d]/')
正規表現を使ってURLアドレスからファイル名を抽出しなければならないjavascriptプログラムは、以下の結果がpage 1です。
適用:文字列の長さを計算します。2バイトの文字長計2、ASCII文字計1)
HTMLタグにマッチした正規表現:/<.*)>*><(.*)/>/>
先頭のスペースにマッチする正規表現(^\s*)
以下は正規表現を使ってIPアドレスにマッチし、IPアドレスを対応数値に変換するJavascriptプログラムです。
\
次の文字を特殊文字、または元の意味文字、または後方参照、または8進数変換記号としてマークします。例えば'n'整合文字'n'です。'改行に一致します。シーケンス'\'は\'にマッチし、\()は「(」にマッチします。
^
入力文字列の開始位置にマッチします。RegExpオブジェクトのMultiiline属性が設定されている場合は、^も'または'\r'の後の位置に一致します。
$
入力文字列の終了位置にマッチします。RegExpオブジェクトのMultiiline属性が設定されている場合は、$は'または'\r'の前の位置にもマッチします。
*
前のサブ表現を0回以上一致させます。例えば、zo*は「z」及び「zoo」に適合することができます。*{0}に等しい。
+
前のサブ表現にマッチします。一回または複数回。例えば、'zo+'は「zo」と「zoo」にマッチしますが、「z」にはマッチしません。に等しい。
?
前のサブ表現にマッチします。0回または1回です。例えば、「ド(es)?」「do」や「does」の「do」にマッチできますか?{0,1}に等しい。
{n}
nは負でない整数です。マッチング決定のn回。例えば、'o{2}'は「Bob」の'o'にはマッチしませんが、「food」の二つのoにはマッチします。
{n,}
nは負でない整数です。少なくともn回一致します。例えば、'o{2}'は'Bob'の'o'にはマッチしませんが、'foood'のすべてにマッチします。o{1、}は'o+'に等しい。o{0}'は'o*'に等しい。
{n,m}
mとnは共に負の整数ではなく、n<=mです。最小n回マッチし、最大m回マッチします。例えば、「o{1,3}」は「fooooood」の中の最初の3つのoにマッチします。o{0,1}'は'o?'に等しい。コンマと二つの数の間に空欄がないように注意してください。
?
文字が他の制限記号(*,+,??),,{?n}、{n、}、{n,m}の後ろにある場合、マッチングモードは欲張りではない。非貪欲モードは、検索した文字列にできるだけ少ないマッチをします。標準の貪欲モードは、検索した文字列にできるだけ多くマッチします。例えば、文字列に対しては「o o」、「o+?」単一の「o」にマッチしますが、「o+」はすべての「o」にマッチします。
..。
「」以外の任意の文字にマッチします。''を含む任意の文字にマッチするには、'''''''''のパターンを使用します。
(pattern)
patternとマッチしてこのマッチを取得します。取得されたマッチングは、生成されたマッチのセットから得られ、VBSScriptでSubMatchセットを使用し、JScriptでは$0...9のプロパティを使用します。丸括弧に合わせるには'\('または')''を使ってください。
(pattern)
マッチしていますが、マッチ結果は得られません。つまり、これは非取得マッチングです。保存は行っていません。これは、モードの各部分を組み合わせるために、「または」の文字を使用することに有用である。例えば、'industr(?:y(124)iesは'industry'よりも簡単な表現です。
(?=pattern)
順方向の事前調査は、任意のマッチするpatternの文字列の先頭で検索文字列と一致します。これは非取得マッチングです。つまり、このマッチングは後で使用するために取得する必要がないということです。例えば、'Windows(?=95|98|NT124; 2000)'は「Windows 2000」の「Windows」にマッチするが、「Windows 3.1」の「Windows」にはマッチしない。事前チェックは文字を消費しません。つまり、マッチが発生した後、最後のマッチの直後に次のマッチの検索を開始します。
(?pattern)
負の方向の事前調査は、任意の不一致のpatternの文字列の先頭で検索文字列と一致します。これは非取得マッチングです。つまり、このマッチングは後で使用するために取得する必要がないということです。例えば'Windows(?95|98|NT124; 2000)'は「Windows 3.1」の「Windows」にマッチするが、「Windows 2000」の「Windows」にはマッチしない。事前チェックは文字を消費しません。つまり、マッチが発生した後、最後のマッチの直後に次のマッチの検索を開始します。
x|y
xまたはyにマッチします。例えば、'zフード'は「z」または「food」にマッチすることができます。z|f)ood'は「zood」または「food」にマッチします。
[xyz]
文字セット。含まれる任意の文字にマッチします。例えば、'[abc]'は、「plin」中の'a'に適合することができる。
[^xyz]
負の文字セット。含まれていない任意の文字にマッチします。例えば、'[^abc]'は、「plin」の「p」に適合することができる。
[a-z]
文字の範囲。指定範囲内の任意の文字にマッチします。例えば、'[a-z]'は'a'から'z'の範囲内の任意の小文字文字にマッチします。
[^a-z]
負の文字範囲です。指定された範囲内でない任意の文字にマッチします。例えば'a'z''は'a'から'z'の範囲内にない任意の文字にマッチすることができます。
\b
単語の境界を合わせます。つまり単語とスペースの間の位置です。例えば、「er\b」は「never」の「er」にマッチすることができますが、「verb」の「er」にはマッチしません。
\B
単語以外の境界にマッチします。r\B'は「ver b」の「er」にマッチしますが、「never」の「er」にはマッチしません。
\cx
xで指定された制御文字とマッチします。例えば、\cMはControl-Mまたはリターンをマッチングします。xの値はA-Zまたはa-zのいずれかでなければならない。そうでないと、cは元の意味の'c'の文字と見なされます。
\d
数値文字にマッチします。は[0-9]に相当します。
\D
非数値文字とマッチします。は[^0-9]に相当します。
\f
変換記号と一致します。は\x 0 cと\cLに相当します。
改行に一致します。は\x 0 aと\cJに相当します。
\r
リターンをマッチングします。は\x 0 dと\cMと等価です。
\s
任意の空白文字にマッチします。スペース、タブ、改ページなどが含まれます。[f\r\t\v]に相当します。
\S
任意の空白文字にマッチします。は[^\f\r\t\v]に相当します。
\t
タブと一致します。は\x 09と\cIに相当します。
\v
垂直タブと一致します。は\x 0 bと\cKに相当します。
\w
下線を含む単語の文字を一致させます。'[A-Za-z 0-9_]に相当する。
\W
単語以外の文字にマッチします。'に相当します。
\xn
nに一致します。ここでnは16進数変換値です。16進数の変換値は、決定された2つの数字の長さでなければなりません。例えば、'\x 41'は「A」にマッチします。'\x 041'は'に相当します。正規表現ではASCIIコードを使用できます。
um
numにマッチしています。その中のnumは正の整数です。取得したマッチに対する参照。例えば'(.)\'1'は2つの連続した同じ文字にマッチします。
8進数の変換値または後方参照を指定します。以前に少なくともn個の取得したサブ表現がある場合、nは後方参照となる。そうでなければ、nが8進数(0-7)の場合、nは8進数の変換値となる。
m
8進数の変換値または後方参照を指定します。mの前に少なくともnmのサブ表現が得られたら,nmは後方参照である。mより前に少なくともn個の取得がある場合、nは後の文字mの後方参照である。前の条件が満たされていない場合、nとmが共に8進数(0-7)であれば、mは8進数の変換値nmに一致する。
ml
nが8進数(0-3)であり、mとlが8進数(0-7)である場合は、8進数変換値nmlと一致する。
\n
nにマッチしています。ここでnは4つの16進数で表されるユニック文字です。例えば、\u 00 A 9は著作権記号(?)にマッチします。
n桁の数字しか入力できません。「^\d{n}」。
少なくともn桁の数字しか入力できません。
m~n桁の数字しか入力できません。「^\」d{m,n}
ゼロと非ゼロの先頭の数字しか入力できません。「^((0|[1-9]、[0-9]*」。」
2桁の小数の正の実数しか入力できません。「^[0-9]+(.[0-9]{2}?)」
1位から3位までの正の実数しか入力できません。「^[0-9]+(.[0-9]{1,3])?」。
ゼロ以外の正の整数しか入力できません。「^\+?」1−9"[0-9]*"。
ゼロ以外の負の整数を入力することができます:'^\-[1-9][]0-9'*。
長さ3の文字しか入力できません。「^.{3}」。
26文字のアルファベットからなる文字列しか入力できません。
26文字のアルファベットからなる文字列しか入力できません。
26文字の小文字アルファベットからなる文字列しか入力できません。
数字と26文字のアルファベットからなる文字列しか入力できません。
数字、26文字、またはアンダースコアからなる文字列しか入力できません。
ユーザーパスワードを検証します。「^[a-zA-Z]」\w{5,17}」の正しいフォーマットは、アルファベットで始まり、長さは6~18の間に、文字、数字、下線のみが含まれます。
確認は^%&'、=?\"を含んでいますか?などの文字:'^%',=?\?\'x 22"+"です。
漢字のみ入力できます。「\\u 4 e 00-\u 9 fa5」{0、}」
Emailアドレスを検証します。「^\w+」(-+)*@\w+(-)\w+(*)*\.\w+([-]/)*」。
Internet URLを検証します:「^http:/(\w-」+\.)+「\w-」+(//[w-./?%%*)?」。
電話番号を検証します:「^(\\\\\\d{3,4}-)?\」d{7,8}「正確なフォーマットは:」XXXX-XXXX"、「XXXX-XXXXX」、「XXXXX-XXXX」、「XXXX-XXXX」、「XXXX-XXXXX」とXXXX"、「XXXXXX"と"XXXX"と"XXXX"です。
身分証明書番号(15桁または18桁の数字):「^\d{15}|\d{18}を検証します。」
一年の12ヶ月を検証します。1−9]“~”1[0-2])$正しいフォーマットは、“01”~”09“和”1“~”12”である。
一ヶ月の31日間検証します。1−9)|((1 124; 2)[0-9])|30|31)$01「~」09「和」1「~」31」。
正規表現を使用して、ウェブフォーム内のテキスト枠の入力内容を制限します。
正規表現での制限は中国語しか入力できません。onkeyup="value=value.replace(/^\u 4 E 00-\u 9 FA 5]/g,'')"onbeforepaste="clipboardData('text',clipboard Data.get Data('text Data)
正規表現では全角文字しか入力できません。onkeyup=「value=value.replace(/^\uFF 00-\uFFFF)/g,')」onbeforepaste=「clipboardData(text',clipboard Data.get Data(text Data).place).」
正規表現では数字しか入力できません。onkeyup=「value=value.replace(/^\d)/g、')」onbeforepaste=「clipboard Data.set Data('text',clipboard Data.gets('text').replace(/')。
正規表現では数字と英語しか入力できません。onkeyup=「value=value.replace(/[W]/g、')」onbeforepaste=「clipboard Data.set Data('text',clipboard Data.getData(text').replace(/[/d]/')
正規表現を使ってURLアドレスからファイル名を抽出しなければならないjavascriptプログラムは、以下の結果がpage 1です。
s=http://www.baidu.com
s=s.replace(/(.*\/){0,}([^\.]+).*/ig,"$2")
alert(s)
ダブルバイトの文字にマッチします。(^\x 00-\xff)適用:文字列の長さを計算します。2バイトの文字長計2、ASCII文字計1)
String.prototype.len=function(){return this.replace([^\x00-\xff]/g,"aa").length;}
空行にマッチする正規表現:\\s|*\rHTMLタグにマッチした正規表現:/<.*)>*><(.*)/>/>
先頭のスペースにマッチする正規表現(^\s*)
String.prototype.trim = function()
{
return this.replace(/(^\s*)|(\s*$)/g, "");
}
正規表現を使ってIPアドレスを分解し変換します。以下は正規表現を使ってIPアドレスにマッチし、IPアドレスを対応数値に変換するJavascriptプログラムです。
function IP2V(ip)
{
re=/(\d+)\.(\d+)\.(\d+)\.(\d+)/g // IP if(re.test(ip))
{
return RegExp.$1*Math.pow(255,3))+RegExp.$2*Math.pow(255,2))+RegExp.$3*255+RegExp.$4*1
}
else
{
throw new Error("Not a valid IP address!")
}
}
ただし、上記の手順は正規表現ではなく、直接にスプリット関数で分解するのが簡単かもしれません。手順は以下の通りです。
var ip="10.100.20.168" ip=ip.split(".")
alert("IP :"+(ip[0]*255*255*255+ip[1]*255*255+ip[2]*255+ip[3]*1))
記号の解釈:\
次の文字を特殊文字、または元の意味文字、または後方参照、または8進数変換記号としてマークします。例えば'n'整合文字'n'です。'改行に一致します。シーケンス'\'は\'にマッチし、\()は「(」にマッチします。
^
入力文字列の開始位置にマッチします。RegExpオブジェクトのMultiiline属性が設定されている場合は、^も'または'\r'の後の位置に一致します。
$
入力文字列の終了位置にマッチします。RegExpオブジェクトのMultiiline属性が設定されている場合は、$は'または'\r'の前の位置にもマッチします。
*
前のサブ表現を0回以上一致させます。例えば、zo*は「z」及び「zoo」に適合することができます。*{0}に等しい。
+
前のサブ表現にマッチします。一回または複数回。例えば、'zo+'は「zo」と「zoo」にマッチしますが、「z」にはマッチしません。に等しい。
?
前のサブ表現にマッチします。0回または1回です。例えば、「ド(es)?」「do」や「does」の「do」にマッチできますか?{0,1}に等しい。
{n}
nは負でない整数です。マッチング決定のn回。例えば、'o{2}'は「Bob」の'o'にはマッチしませんが、「food」の二つのoにはマッチします。
{n,}
nは負でない整数です。少なくともn回一致します。例えば、'o{2}'は'Bob'の'o'にはマッチしませんが、'foood'のすべてにマッチします。o{1、}は'o+'に等しい。o{0}'は'o*'に等しい。
{n,m}
mとnは共に負の整数ではなく、n<=mです。最小n回マッチし、最大m回マッチします。例えば、「o{1,3}」は「fooooood」の中の最初の3つのoにマッチします。o{0,1}'は'o?'に等しい。コンマと二つの数の間に空欄がないように注意してください。
?
文字が他の制限記号(*,+,??),,{?n}、{n、}、{n,m}の後ろにある場合、マッチングモードは欲張りではない。非貪欲モードは、検索した文字列にできるだけ少ないマッチをします。標準の貪欲モードは、検索した文字列にできるだけ多くマッチします。例えば、文字列に対しては「o o」、「o+?」単一の「o」にマッチしますが、「o+」はすべての「o」にマッチします。
..。
「」以外の任意の文字にマッチします。''を含む任意の文字にマッチするには、'''''''''のパターンを使用します。
(pattern)
patternとマッチしてこのマッチを取得します。取得されたマッチングは、生成されたマッチのセットから得られ、VBSScriptでSubMatchセットを使用し、JScriptでは$0...9のプロパティを使用します。丸括弧に合わせるには'\('または')''を使ってください。
(pattern)
マッチしていますが、マッチ結果は得られません。つまり、これは非取得マッチングです。保存は行っていません。これは、モードの各部分を組み合わせるために、「または」の文字を使用することに有用である。例えば、'industr(?:y(124)iesは'industry'よりも簡単な表現です。
(?=pattern)
順方向の事前調査は、任意のマッチするpatternの文字列の先頭で検索文字列と一致します。これは非取得マッチングです。つまり、このマッチングは後で使用するために取得する必要がないということです。例えば、'Windows(?=95|98|NT124; 2000)'は「Windows 2000」の「Windows」にマッチするが、「Windows 3.1」の「Windows」にはマッチしない。事前チェックは文字を消費しません。つまり、マッチが発生した後、最後のマッチの直後に次のマッチの検索を開始します。
(?pattern)
負の方向の事前調査は、任意の不一致のpatternの文字列の先頭で検索文字列と一致します。これは非取得マッチングです。つまり、このマッチングは後で使用するために取得する必要がないということです。例えば'Windows(?95|98|NT124; 2000)'は「Windows 3.1」の「Windows」にマッチするが、「Windows 2000」の「Windows」にはマッチしない。事前チェックは文字を消費しません。つまり、マッチが発生した後、最後のマッチの直後に次のマッチの検索を開始します。
x|y
xまたはyにマッチします。例えば、'zフード'は「z」または「food」にマッチすることができます。z|f)ood'は「zood」または「food」にマッチします。
[xyz]
文字セット。含まれる任意の文字にマッチします。例えば、'[abc]'は、「plin」中の'a'に適合することができる。
[^xyz]
負の文字セット。含まれていない任意の文字にマッチします。例えば、'[^abc]'は、「plin」の「p」に適合することができる。
[a-z]
文字の範囲。指定範囲内の任意の文字にマッチします。例えば、'[a-z]'は'a'から'z'の範囲内の任意の小文字文字にマッチします。
[^a-z]
負の文字範囲です。指定された範囲内でない任意の文字にマッチします。例えば'a'z''は'a'から'z'の範囲内にない任意の文字にマッチすることができます。
\b
単語の境界を合わせます。つまり単語とスペースの間の位置です。例えば、「er\b」は「never」の「er」にマッチすることができますが、「verb」の「er」にはマッチしません。
\B
単語以外の境界にマッチします。r\B'は「ver b」の「er」にマッチしますが、「never」の「er」にはマッチしません。
\cx
xで指定された制御文字とマッチします。例えば、\cMはControl-Mまたはリターンをマッチングします。xの値はA-Zまたはa-zのいずれかでなければならない。そうでないと、cは元の意味の'c'の文字と見なされます。
\d
数値文字にマッチします。は[0-9]に相当します。
\D
非数値文字とマッチします。は[^0-9]に相当します。
\f
変換記号と一致します。は\x 0 cと\cLに相当します。
改行に一致します。は\x 0 aと\cJに相当します。
\r
リターンをマッチングします。は\x 0 dと\cMと等価です。
\s
任意の空白文字にマッチします。スペース、タブ、改ページなどが含まれます。[f\r\t\v]に相当します。
\S
任意の空白文字にマッチします。は[^\f\r\t\v]に相当します。
\t
タブと一致します。は\x 09と\cIに相当します。
\v
垂直タブと一致します。は\x 0 bと\cKに相当します。
\w
下線を含む単語の文字を一致させます。'[A-Za-z 0-9_]に相当する。
\W
単語以外の文字にマッチします。'に相当します。
\xn
nに一致します。ここでnは16進数変換値です。16進数の変換値は、決定された2つの数字の長さでなければなりません。例えば、'\x 41'は「A」にマッチします。'\x 041'は'に相当します。正規表現ではASCIIコードを使用できます。
um
numにマッチしています。その中のnumは正の整数です。取得したマッチに対する参照。例えば'(.)\'1'は2つの連続した同じ文字にマッチします。
8進数の変換値または後方参照を指定します。以前に少なくともn個の取得したサブ表現がある場合、nは後方参照となる。そうでなければ、nが8進数(0-7)の場合、nは8進数の変換値となる。
m
8進数の変換値または後方参照を指定します。mの前に少なくともnmのサブ表現が得られたら,nmは後方参照である。mより前に少なくともn個の取得がある場合、nは後の文字mの後方参照である。前の条件が満たされていない場合、nとmが共に8進数(0-7)であれば、mは8進数の変換値nmに一致する。
ml
nが8進数(0-3)であり、mとlが8進数(0-7)である場合は、8進数変換値nmlと一致する。
\n
nにマッチしています。ここでnは4つの16進数で表されるユニック文字です。例えば、\u 00 A 9は著作権記号(?)にマッチします。