ホームページ > 記事 > ウェブフロントエンド > JavaScript 正規表現のヒント
今回は、JavaScript正規表現のヒント、JavaScript正規表現を使用する際の注意事項とは何か、実際のケースを紹介します。見てみましょう。
正規表現は、文字列のマッチングと処理のための強力なツールとして広く実装されており、多くの言語で使用されています。この記事では主に JavaScript の正規表現関数の概要を紹介します。必要な方は参照してください。
/* テスト環境。 : Chrome 63.0.3239.132 */
JS の通常のオブジェクト修飾子のオプションの値は次のとおりです: "i" "g" "m"、つまり、複数行パターンのグローバル マッチングでは大文字と小文字を区別しません
サポートされていますJS メタキャラクターの正規表現による:
1: 列挙角括弧式、範囲角括弧式、列挙反転角括弧式、範囲反転角括弧式
2:. w W d D s S b B n r f v 888 uffff xff
3: n? n+ n* n{a} n{a,} n{a,b} およびこれらの量指定子の非貪欲パターン
4: ^ $ (?!) (?=) (?:)
その他:
1: JS での参照グループ化には数値を使用してください。'' や <> などの名前付きグループはサポートされていません
2: 量指定子の所有モードはサポートされていません
3: 逆lookaround はサポートされていません
4: 角括弧内の複合式は次のものをサポートします:
[abc0-9] [abcd] [dw^&] など
5: gim mig gi ig などの修飾子の組み合わせをサポートしますなど、順序要件なし
JS の通常のオブジェクト プロパティ:
global: オブジェクトがグローバル マッチングを有効にするかどうか、ブール値
ignoreCase: オブジェクトが大文字小文字の無視を有効にするかどうか、ブール値
multiline: オブジェクトが有効にするかどうか複数行モード、ブール値
lastIndex: オブジェクトが次回マッチングを開始する位置、つまり前回のマッチングが終了した位置、正の整数
source: 正規表現のソーステキスト、つまり/regexp/flag の正規表現には、変更記号、文字列が含まれていません
正規表現を作成します:
1: myreg = new RegExp(patternString[,globalFlags]);
2: myreg = /yourRegexp/globalFlags ;
JS の正規表現の一般的なメソッド:
In RegExp object:
1: test(yourString);
Definition: 文字列が特定のパターンに一致するかどうかをテストします。
その他の注意: このメソッドは、「g」フラグと通常のオブジェクトの lastIndex 属性を無視します (つまり、常に先頭から開始します) パターンに一致する文字列が見つかる限り、一致は成功します。
2: exec(yourString);
定義: 文字列内の正規表現の一致を取得します。
その他の指示: 「g」フラグがオンになっていない場合、通常のオブジェクトの lastIndex 属性を変更せずに 1 回だけ検索し、添字 0、インデックス、および入力を含むオブジェクトを返します。属性は match と同等です。 "g" をオンにすると、通常のオブジェクトの lastIndex プロパティが今回見つかった部分文字列の終了位置に変更され、"g" がオンになっていない場合と同じオブジェクトが返されます。 (通常のオブジェクトの lastIndex 属性を変更して、exec が検索を開始する位置を指定できます。)
String オブジェクト内:
1: search(yourRegexpOrString);
定義: 指定された部分文字列または部分文字列に一致する正規表現。
その他の注意事項: このメソッドは、「g」フラグと通常のオブジェクトの lastIndex 属性を無視し (つまり、常に先頭から開始します)、見つかった最初の文字の位置を返し、見つからない場合は -1 を返します。
2: match(yourRegexpOrString);
定義: 文字列内で正規表現に一致する 1 つ以上の文字列を検索し、オブジェクトを返します。 (laseIndex 属性を無視します)
その他の指示: 「g」フラグがオンになっていない場合は、最初に一致した文字列のみが検索され、添え字 0、インデックス、入力を含むオブジェクトが返されます。添え字 0 はインデックスに相当し、入力は文字列への参照です。「g」をオンにして配列を返します。配列の長さは一致した文字列の数であり、各要素は各一致の開始文字位置です。
3: replace(yourRegexpOrString,placementString);
定義: 文字列内の一部の文字を他の文字に置き換えたり、正規表現に一致する部分文字列を置き換えたりするために使用されます。
その他の注意事項: 「g」フラグがない場合は 1 回のみ置換され、引数が正規表現オブジェクトではなく文字列の場合は常に 1 回置換されます。 yourRegexpOrString をplacementString に置き換えた結果の文字列を返します。 PlacementString の $ には特別な用途があります。次の表を参照してください:
$1、$2、...、$99 | 正規表現でキャプチャされた参照グループ。 |
$& | この一致のテキスト。 |
$` | 今回は部分文字列の左側のテキストが一致しました。 |
$' | 今回は部分文字列の右側のテキストが一致しました。 |
$$ | $自体。 |
このメソッドの 2 番目のパラメーターは関数にすることができます。この関数は一致ごとに呼び出され、関数の戻り値が配置として使用されます。最初のパラメーターはサブです。 -この一致のテキスト ($&)、中央のパラメータは部分式一致文字列、数は制限されていません ($i)、最後から 2 番目のパラメータは今回一致したサブテキストの添字位置、最後のパラメータはplace メソッドを実行する文字 文字列そのもの。
4: split(yourRegexpOrString[,howMany]);
定義: 文字列を文字列値の配列に分割します。
その他の命令: arr.join(separatorString) の逆の操作です。「」を渡すと、各文字が配列に分割されます。 howMany は、返される配列の数を指定します。
この記事の事例を読んだ後、あなたはその方法をマスターしたと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。
推奨読書:
Webpack開発サーバーの無効なホットロードに対処する方法
以上がJavaScript 正規表現のヒントの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。