正規表現は、文字列を照合および処理するための強力なツールとして、多くの言語で広く実装され、使用されています。この記事では主に JavaScript の正規表現関数の概要を紹介します。みんな。 。
/* テスト環境: Chrome 63.0.3239.132 */
JS の通常のオブジェクト修飾子のオプションの値は次のとおりです: "i" "g" "m"。これは、複数のグローバル一致の大文字と小文字を無視することを意味します。 -line パターン
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 : 逆引きはサポートされていません
4: 角括弧式内の複合式は次のようにサポートされています:
[abc0-9] [abcd] [dw^&] など
5: 修飾子の組み合わせがサポートされていますgim mig gi ig など、順序は必要ありません
JS の通常のオブジェクト属性:
global: オブジェクトがグローバル マッチングを有効にするかどうか、ブール値
ignoreCase: オブジェクトが大文字と小文字の無視を有効にするかどうか、ブール値
multiline: オブジェクトが複数行モードをオンにするかどうか、ブール値
lastIndex: オブジェクトが次回マッチングを開始する位置、つまり前回のマッチングが終了する位置、正の整数
source:正規表現のソース テキスト、つまり /regexp/flag regexp には修飾子、文字列が含まれていません
正規表現を作成します:
1: myreg = new RegExp(patternString[,globalFlags]);
2: myreg = /yourRegexp/globalFlags;
JS 正規表現 一般的な式メソッド:
RegExp オブジェクト内:
1: test(yourString);
定義: 文字列が特定のパターンに一致するかどうかを確認します。
その他の注意: このメソッドは、「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 は、返される配列の数を指定します。
関連する推奨事項:
以上がJavaScript 正規表現関数の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。