正規表現のjavascript
2501 ワード
1.正規表現の定義は文字モードを記述するオブジェクト、JavaScriptのRepExp類は正規表現を表します.
var pattern=new RegExp("s\")<=>var pattern=/s\"/;
2.直接量文字\o NUL文字\tタブの改行符\v垂直タブ\f改ページ符\r回車
3.文字類[...]の中の任意の文字[^...]は、四角括弧内の任意の文字ではありません.改行符と他のユニック行の終端符以外の任意の文字、\w任意のASCII文字からなる単語は、[a-zA-Z 0-9]\W任意のASCII文字からなる単語と同じです.[0-9]\Dの任意のASCII数字に相当し、[0-9][\b]の還付直接量に相当する.
4.{n,m}前のエントリに少なくともn回マッチしたが、m回{n,}前のエントリにn回以上マッチしていないか?前の項目に0回または1回を合わせて、{0,1}に相当します. example:/\d{2,4}//マッチング2~4個の数字/\w{3}\d?/3つの単語にマッチしてオプションの数字/\s+java\s+//マッチjava単語の前後に少なくとも一つのスペース/[^(*///マッチングは一つ以上の左括弧で始まる文字です.
5.欲張りではなく、できるだけ多くマッチするように繰り返します.非欲張りモードはできるだけ少ないマッチですか?+?*?
example:{1,5}///できるだけマッチしてください.
6.パケット参照|選択とマッチするのは、記号の左のサブ表現または右のサブ表現(...)の組み合わせで、いくつかの項目を一つのユニットに結合し、このユニットは*+?124;などの記号によって修飾され、その後の参照のためにこの組み合わせと一致する文字列を記憶しておくことができる(?:…)一つのユニットに項目を組み合わせるだけですが、改組にマッチした文字とn番目のグループが初めて一致した文字は記憶されません.グループは丸括弧の中のサブ表現です.グループインデックスは左から右の左括弧の数です.
7.アンカー文字^は文字列の先頭にマッチし、複数行検索では1行の先頭$一致文字列の末尾にマッチし、複数行検索では1行の末尾\bと1つの単語の境界にマッチする.つまり、\wと\Wの間に位置する位置\Bが単語境界でない位置(?=p)零幅は先に断言しています.次の文字はすべてpにマッチすることが要求されますが、pにマッチする文字(?==p)はゼロ幅と負が先行して断言できません.次の文字はpにマッチしないことが要求されます.
8.修飾子iは、大域一致m多行整合モードを区別しない
9.モードマッチングのためのStringメソッドsearch()「javascript」.search(/script/i);マッチングすれば対応インデックスを返し、そうでなければ-1 placce()text.replacce(/javascript/gi、「JavaScript」)、検索と置換match()「1 plus 2 equatch/3.ttttttttttttc/3.""""""""""""""""""""""""""""(/spvasclit""""""""""""""""""""""""""""""""""""""""",\s/);[1],[2],[3],[4],[5]を返します.
10.RegExpオブジェクトRegExpの最初のパラメータは、正規表現の本体部分、つまり直接量の2つの斜線の間のテキストであり、文字列の直接量と正規表現とに関係なく使用されます. 文字は変換文字のプレフィクスとして使われていますので、RegExp()に正規表現が入ってきたら、 二つ目のパラメータはオプションであり、g_i mのみ、またはそれらの組み合わせvar_zipcode=new RegExp(\\d{5}、g);
RegExp属性source:リードオンリー文字列で、正規表現を含むテキストglobal:読み取り専用のブール値です.この正規表現には修繕符g ignoreCaseがあるかどうかを説明します.読み取り専用のブール値です.正規表現に修繕符i multiilineがあるかどうかを説明します.読み取り専用のブール値です.正規表現には修飾子i multiilineがあるか?修正子m lastIndex:読み取り可能/書き込み可能な整数です.マッチングモードにg修饰子があれば、この属性は文字列全体の次の検索の開始位置に格納されます.exec()、test()方法で使用されます.
RegExpメソッドexec()は文字列のマッチング検索を実行します.String.match()のように、配列test()を返します.execメソッドを呼び出してnullでない場合はtestメソッドを呼び出してtrueに戻ります.
var pattern=new RegExp("s\")<=>var pattern=/s\"/;
2.直接量文字\o NUL文字\tタブの改行符\v垂直タブ\f改ページ符\r回車
3.文字類[...]の中の任意の文字[^...]は、四角括弧内の任意の文字ではありません.改行符と他のユニック行の終端符以外の任意の文字、\w任意のASCII文字からなる単語は、[a-zA-Z 0-9]\W任意のASCII文字からなる単語と同じです.[0-9]\Dの任意のASCII数字に相当し、[0-9][\b]の還付直接量に相当する.
4.{n,m}前のエントリに少なくともn回マッチしたが、m回{n,}前のエントリにn回以上マッチしていないか?前の項目に0回または1回を合わせて、{0,1}に相当します.
1 , {1,}
0 , {0,}
5.欲張りではなく、できるだけ多くマッチするように繰り返します.非欲張りモードはできるだけ少ないマッチですか?+?*?
example:{1,5}///できるだけマッチしてください.
6.パケット参照|選択とマッチするのは、記号の左のサブ表現または右のサブ表現(...)の組み合わせで、いくつかの項目を一つのユニットに結合し、このユニットは*+?124;などの記号によって修飾され、その後の参照のためにこの組み合わせと一致する文字列を記憶しておくことができる(?:…)一つのユニットに項目を組み合わせるだけですが、改組にマッチした文字とn番目のグループが初めて一致した文字は記憶されません.グループは丸括弧の中のサブ表現です.グループインデックスは左から右の左括弧の数です.
7.アンカー文字^は文字列の先頭にマッチし、複数行検索では1行の先頭$一致文字列の末尾にマッチし、複数行検索では1行の末尾\bと1つの単語の境界にマッチする.つまり、\wと\Wの間に位置する位置\Bが単語境界でない位置(?=p)零幅は先に断言しています.次の文字はすべてpにマッチすることが要求されますが、pにマッチする文字(?==p)はゼロ幅と負が先行して断言できません.次の文字はpにマッチしないことが要求されます.
8.修飾子iは、大域一致m多行整合モードを区別しない
9.モードマッチングのためのStringメソッドsearch()「javascript」.search(/script/i);マッチングすれば対応インデックスを返し、そうでなければ-1 placce()text.replacce(/javascript/gi、「JavaScript」)、検索と置換match()「1 plus 2 equatch/3.ttttttttttttc/3.""""""""""""""""""""""""""""(/spvasclit""""""""""""""""""""""""""""""""""""""""",\s/);[1],[2],[3],[4],[5]を返します.
10.RegExpオブジェクトRegExpの最初のパラメータは、正規表現の本体部分、つまり直接量の2つの斜線の間のテキストであり、文字列の直接量と正規表現とに関係なく使用されます. 文字は変換文字のプレフィクスとして使われていますので、RegExp()に正規表現が入ってきたら、 二つ目のパラメータはオプションであり、g_i mのみ、またはそれらの組み合わせvar_zipcode=new RegExp(\\d{5}、g);
RegExp属性source:リードオンリー文字列で、正規表現を含むテキストglobal:読み取り専用のブール値です.この正規表現には修繕符g ignoreCaseがあるかどうかを説明します.読み取り専用のブール値です.正規表現に修繕符i multiilineがあるかどうかを説明します.読み取り専用のブール値です.正規表現には修飾子i multiilineがあるか?修正子m lastIndex:読み取り可能/書き込み可能な整数です.マッチングモードにg修饰子があれば、この属性は文字列全体の次の検索の開始位置に格納されます.exec()、test()方法で使用されます.
RegExpメソッドexec()は文字列のマッチング検索を実行します.String.match()のように、配列test()を返します.execメソッドを呼び出してnullでない場合はtestメソッドを呼び出してtrueに戻ります.