JSの正規表現/置き換える変数交換方法

1、Javascriptを定期的に作成されたオブジェクトと使用法を置き換える:/パターン/旗簡単にケーススタディは、次の何をすべきか知っている置き換えることができます

    正規表現のコンストラクタ:新しい正規表現(「パターン」[、「旗」]); 

    正規表現の置換変数機能:stringObj.replace(RegExpオブジェクト、テキストを置き換えます)。

パラメータ: 
パターン-正規表現リテラル 
: -フラグは、存在する場合、以下の値になります 
G:グローバルマッチング 
I:ケース無視 
GIを:よりその 

2つのパラメータのURLを取得し、前の実際のurlRewriteのURLに戻すために使用//次の例
VAR
 REG = 新しい新しい  正規表現(「(http://www.qidian.com/BookReader/)(D \\ +)、(\ 。\ D +)ASPX "" GMI ");
VAR  URL =" http://www.qidian.com/BookReader/1017141,20361055.aspx「;

//方法、一般的に最も簡単な方法
のvar  REP = URL。 (REG、 "?bookId 1ShowBook.aspx = $ $ $ = 2 3&chapterId")を交換します。
アラート(REP);

// 2番目の方法は、固定パラメータコールバックの使用
するvar  REP2 = url.replaceを(REG、機能(M、P1、 P2、P3){ リターン  P1 + "?ShowBook.aspx bookId =" + P3 + "&chapterId ="} + P3)、
警告(REP2);

//第三のアプローチは、非固定パラメータコールバック
するvar  REP3のurl.replace =( REG、関数(){ VARの  引数の=引数。 リターン 引数[1] + "ShowBook.aspx bookId =" +引数[2] + "&chapterId =" +引数[3];});
警告(REP3)。

方法IV //
// 4つの方法と3つの方法は、文字列に加えて、パラメータも別々に得ることができる、あるいは返され、非常に類似している
VAR  ; bookId
のvar  chapterId;
機能  capText()
{
    VARの  引数の=引数; 
    bookId =引数[2] ;
    chapterIdは=引数[3];
    返す  引数を[1] + +引数[2] + "&chapterId =" +引数"ShowBook.aspx bookId =" [3];
}

VARの  rep4の= url.replace(REG、capText) ;
アラート(rep4の)
警告(bookId);
アラート(chapterId)。

//試験方法使用してパケットを取得
するvar  = REG3 新しい新しい  正規表現( "(http://www.qidian.com/BookReader/)(\\d+),(\\d+).aspx"、 "GMI")を、
REG3。テスト(「http://www.qidian.com/BookReader/1017141,20361055.aspx」);
// 3つのパケットをゲット
アラートを(正規表現の$ 1); 
警告(正規表現$ 2);
警告(正規表現の$ 3);

 

2、最も一般的に使用されるテストのexec一致検索が分割6つのGeメソッドを置き換える学びます

1)テスト指定した文字列があるかどうかをチェックする
VARデータ=「123123」は、
VAR = RECAT / 123 / GI、
アラート(reCat.test(データ)); // trueに
//私はグラムを下るを続けて文字があるかどうかを確認してください大文字と小文字を区別しません

2)幹部値問合せの戻り
VAR =データ"123123,213,12312,312,3、猫、CAT、dsfsdfs、";
VAR = RECAT / CAT / I;
アラート(reCat.exec(データ)); //猫

3)クエリ配列と一致得
; VAR =データ"123123,213,12312,312,3、猫、CAT、dsfsdfs、"
VAR = RECAT / CAT / GI;
VAR = arrMactchesのdata.match(RECAT)
のための(I = VARを0; I <arrMactches.length; I ++)
{
アラート(arrMactches [I]); //猫CAT
}

4)探索は探索位置類似のindexOf戻る
VAR =データ"123123,213,12312,312,3、猫、CAT、dsfsdfs、";
VAR = RECAT / CAT / GI、
アラート(data.search(RECAT)); / / 23

5)置換文字に置き換えるN-で置き換えられ
VAR =データ"123123,213,12312,312,3、猫、CAT、dsfsdfs、";
VAR = RECAT / CAT / GI、
アラート(data.replace(RECAT、 "libinqq") );

規則配列使って分割6)スプリット
; VAR =データ"123123,213,12312,312,3、猫、CAT、dsfsdfsを、"
VAR RECAT = / \ /;
VAR = arrdata data.split(RECAT);
(VARため0 = I; Iはarrdata.length <; Iは++)
{
アラート(arrdata [I]);
}

3、一般的に使用される表現コレクション:

 

"+ $ D ^ \\" //非負の整数(整数+ 0)
"^ [0-9] * [1-9] [0-9] * $"正の整数//
「^(( - \\ + D)|(0 +))$ "//非正の整数(0 +負の整数)
" ^ - [0-9] * [1-9] [0-9] * $ "//負の整数
" ^ - ?\\ D + $ "//整数
" ^ \\のD +(\\。 \\ D +)?$ "// 非負の浮動小数点数(正の浮動小数点+ 0)
" ^(([0-9] + \\ [0-9] * [1-9] [0-9] *)|([0-9] * [1-9] [0-9] * \\ [0-9] +)|。( [0-9] * [1-9] [0-9] *))$ "
//正のフロート
"(^( - \\ D + (\\ \\ D +。))|(0 +(\? ?\ 0.0 +)))$ "//非正フロート(負のフロート+ 0)
" ^( - (([0-9] + \\ [0-9] * [1-9] [。 0-9] *)|([0-9 ] * [1-9] [0-9] * \\ [0-9] +)|([0-9] * [1-9] [0 -9] *)))$ "
//負のフロート
" ^( - ?。?\\ D +)(\\ \\ D +)$ "// フロート
" ^ [A-ZA-Z ] + $ " // 26個の英語の文字からなる文字列
「^ [AZ] + $」 // から成る大文字26の文字列
「^ [AZ] + $」 // 小文字の英文字組成物によって26文字列
""26 ^中に数字と英文字の//文字列[A-ZA-Z0-9] + $の
文字列" ^ \\ W + $「//デジタル、26の英字またはアンダースコア
"^ [\\ワット- ] +(\\ [\\ワット- ]。+) - (\\ [\\ワット- ]。+)+ * [\\ W] + $" //メール地址
」 ^ [-ZA-Z] +://(\\ W +( - \\ + W)*()。\\(\\のW +( - \\ + W)*))*(\\ \\ S * )?$」// URL
"^ [A-ZA-Z0-9 _] * $"。

============================================正規表現の基本= =============================================

^「」一致せずにラインまたは入力、/ ^ A /マッチ「A」の先頭にマッチします 
「の代わりにマッチングの、$は、行または入力、/ $ /マッチング「A」の末尾にマッチ「 
*直前の文字のゼロ回以上の元、/ BA * / Bと一致しますが、BAは、BAA、BAAA一致する 
+は直前の文字を1回以上の元に一致する、/ BA + / BA、BAA、BAAA一致します 
?試合前にメタ文字は0または1、/ BA /マッチングB、BA? 
$ X $ 9 1という変数に格納されている(X)と一致するX ... 
X | yはxまたはyと一致 
正確に一致するものをn回n}は{ 
{ N、}一致N回以上は 
{N、M} nmからのビューを一致 
文字(文字セット)[XYZ]は、文字(または文字員)のセットのいずれかと一致し 
、このセットに一致しない[^ XYZ]任意の文字は 
[\ B]バックスペース一致 
\ bはワード境界と一致 
\ Bが一致非境界のワード 
\ CXここで、Xは制御文字であり、/ \センチ/一致のCtrl-M 
\ D単語に一致します文字/ \ D / = / [0-9] / 
\ D一致非文字単語/ \ D / = / [^ 0-9] / 
\改行のn-一致 
\ rはキャリッジリターンと一致 
\ sの\ nを含む空白文字を、一致、\ R、\ fを \ tの、\のV 様 
\ Sは、[N \ F \ \ ^ /等しく、非空白文字と一致  / R \ T \ V]
\ tはタブにマッチします 
\ vは再直接のタブと一致し 
た単語を形成することができます一致ワット\文字(英数字、これはデジタルを含め、私の翻訳である)、アンダースコア、など[\ W]マッチ「$ 5.98」[Aに等しく、5です-za-Z0-9] 
文字\ Wは単語がよう、構成することはできません一致する[\ W] $は[^-ZA-Z0-9]に等しく、 "$ 5.98"の試合  。

おすすめ

転載: www.cnblogs.com/gavin1024/p/10953280.html