この記事は、H5EDU 組織の公式 HTML5 トレーニング チュートリアルであり、主に以下を紹介します: JavaScript 拡張チュートリアル - RegExp オブジェクト
RegExp オブジェクトは、テキストで取得するコンテンツを指定するために使用されます。
正規表現とは何ですか?
RegExp は正規表現の略です。
特定のテキストを取得する場合、パターンを使用して取得する内容を説明できます。 RegExp はこのパターンです。
簡単なパターンは単一の文字にすることができます。
より複雑なパターンにはより多くの文字が含まれており、解析、形式チェック、置換などに使用できます。
文字列内の検索位置や検索する文字の種類などを指定できます。
RegExp の定義
RegExp オブジェクトは、検索パターンを格納するために使用されます。
新しいキーワードを使用して RegExp オブジェクトを定義します。次のコードは、パターンが "e" である patt1 という名前の RegExp オブジェクトを定義します。 var patt1=new RegExp("e");この RegExp オブジェクトを使用して文字列内を検索する場合、文字 "e" " を検索します。
RegExp オブジェクトのメソッド
RegExp オブジェクトには、test()、exec()、compile() の 3 つのメソッドがあります。
test()
test() メソッドは、文字列内の指定された値を取得します。戻り値は true または false です。
例: var patt1=new RegExp("e"); document.write(patt1.test("The best things in life")); 文字列に「e」が存在するため、上記のコードは true になります。
exec()
exec() メソッドは、文字列内の指定された値を取得します。戻り値は見つかった値です。一致するものが見つからない場合は、null が返されます。
例 1: var patt1=new RegExp("e"); document.write(patt1.exec("The best things in life is free")); 文字列に「e」が存在するため、上記のコードは出力は次のようになります: e
例 2:
RegExp オブジェクトに 2 番目のパラメーターを追加して、取得を設定できます。たとえば、特定の文字が出現するすべての文字を検索する必要がある場合は、「g」パラメータ (「global」) を使用できます。
検索パターンを変更する方法の詳細については、RegExp オブジェクト リファレンス マニュアルを参照してください。
"g" パラメータを使用する場合、exec() は次のように動作します:
最初の "e" を見つけてその位置を保存します
exec() を再度実行する場合は、保存された位置から取得を開始し、次の "e" を見つけますそしてその位置を保存します var patt1=new RegExp("e","g"); do { result=patt1.exec("人生で最高のものは無料です") }; while (結果! =null) この文字列には 6 つの "e" 文字があるため、コードの出力は次のようになります: eeeeeenull
compile()
compile() メソッドは RegExp を変更するために使用されます。
compile() は取得モードを変更できるだけでなく、2 番目のパラメータを追加または削除することもできます。
例: var patt1=new RegExp("e"); document.write(patt1.test("人生で最高のものは無料")); document.write(patt1. test("人生で最高のものは無料です")); 文字列には "e" が存在しますが、"d" は存在しないため、上記のコードの出力は次のようになります: truefalse