ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript が正規表現を使用する方法

JavaScript が正規表現を使用する方法

PHPz
PHPzオリジナル
2023-04-25 17:31:11998ブラウズ

正規表現は文字列の一致に使用されるパターンであり、文字列の検証、検索、置換などに使用できます。 JavaScript には正規表現のサポートが組み込まれています。この記事では、JavaScript で正規表現を使用する方法を紹介します。

正規表現は複雑なので、初めて使用する場合は混乱する可能性があります。ただし、基本的な構文と一般的な関数を理解していれば、それを使用して複雑な文字列の一致と置換の問題を解決できます。

1. 正規表現の基本構文

正規表現は一連の文字とメタキャラクターで構成され、メタキャラクターは一致ルールの指定に使用されます。最も基本的なメタ文字の一部を次に示します。

  1. 文字と数字: すべての文字と数字を正規表現に直接入力して、対応する文字と一致させることができます。たとえば、正規表現 /test/ は文字列「test」と正確に一致します。
  2. メタキャラクター: メタキャラクターは、特別な意味を持つ特殊文字です。たとえば、正規表現の「.」は任意の文字を表し、「^」は文字列の先頭を表し、「$」は文字列の末尾を表します。
  3. 文字セット: 文字セット内の任意の文字と一致するために使用されます。たとえば、正規表現 /[ab]/ は「a」または「b」に一致します。
  4. 数量子: 一致する繰り返しの数または範囲を指定するために使用されます。たとえば、正規表現 /a / は、任意の数の「a」文字 (少なくとも 1 つ) と一致でき、「a{3}」は、連続する 3 つの「a」文字と一致することを意味します。

簡単な正規表現の例をいくつか示します。

Expression Matching content
/test/ test
/.at/ cat, hat, sat
/[ bc]at/ but, cat
/[0-9]*/ 1234567890

2. JavaScript の正規表現

JavaScript には正規表現のサポートが組み込まれています。オブジェクトを使用して正規表現オブジェクトを作成することも、String オブジェクトの正規メソッドを使用して文字列照合を実行することもできます。

  1. 正規表現オブジェクトの作成

RegExp オブジェクトのコンストラクターを使用して正規表現オブジェクトを作成できます。コンストラクターは 2 つのパラメーターを受け取ります。1 つは文字列の一致用です。モード、もう 1 つはオプションのフラグ文字列です。

例:

var pattern = /\d /g; //リテラル​​ パターンを使用して正規表現オブジェクトを作成します
var pattern2 = new RegExp("\d ", " g "); //コンストラクターを使用して正規表現オブジェクトを作成します

上記の例では、正規表現 "/\d /g" と文字列 "\d " は同じであり、両方とも一致することを示しています。または複数の番号。

  1. 文字列マッチング

JavaScript では、String オブジェクトの match()、search()、replace()、および Split() メソッドを使用して実装できます。文字列のマッチング。

match() メソッド: match() メソッドは、正規表現に一致する文字列コンテンツを含む配列を返します。何も一致しない場合は、null が返されます。例:

var str = "hello world, hello JavaScript";
var pattern = /hello/;
var result = str.match(pattern);
console.log(result); // 出力[ "hello"]

search() メソッド: search() メソッドは、一致する文字列の開始位置を返します。何も一致しない場合は、-1 を返します。例:

var str = "hello world , hello JavaScript";
var pattern = /world/;
var result = str.search(pattern);
console.log(result); // 出力 6

replace( ) メソッド: replace() メソッドは、一致したテキスト コンテンツを置換し、置換された新しい文字列を返すために使用されます。例:

var str = "hello world, hello JavaScript";
var pattern = /hello/;
var result = str.replace(pattern, "hi");
console .log(result); // 出力 "こんにちは、世界、こんにちは JavaScript"

split() メソッド: Split() メソッドは、指定された区切り文字列または正規表現を使用して、文字列を文字列配列に分割します。分割位置を決めます。例:

var str = "リンゴ、バナナ、オレンジ";
var pattern = /[,]/;
var result = str.split(pattern);
コンソール。 log (result); // 出力 ["apple", "banana", "orange"]

  1. 検証文字列

JavaScript では、RegExp オブジェクトを使用できます。 test() メソッドは、文字列が正規表現に準拠しているかどうかをチェックします。 test() は true または false を返し、文字列が正規表現の要件を満たしているかどうかを示します。例:

var pattern = /\d /;
console.log(pattern.test("123")); // 出力 true
console.log(pattern.test(" 1a23 ")); // 出力 true

3. 正規表現の高度なアプリケーション

正規表現の高度な使用法が多数あり、より複雑な文字列の一致および置換機能を実現できます。一般的な高度なアプリケーションをいくつか示します。

  1. グループ マッチング

正規表現 /(\d{3})-( \ など、括弧を使用してグループ化を示します。 d{3})-(\d{4})/ は、「123-456-7890」のような電話番号形式と一致します。ここで、(\d{3})、(\d{3})、および (\ d{4 }) これら 3 つのグループは、電話番号の市外局番、センター番号、サフィックス番号にそれぞれ一致します。

  1. ゼロ幅アサーション

ゼロ幅アサーションとは、文字ではなく文字列の位置を照合することを指します。たとえば、正規表現 /cat(?=dog)/ は、「cat」の後に「dog」が続くものには一致しますが、「cat」の後に「dog」が続くものには一致しません。

  1. 一致結果の置換

テキストを置換するときに、$1、$2 などのプレースホルダーを使用して、一致結果の最初と 2 番目のグループを表すことができます。の上。たとえば、正規表現 /(\d{3})-(\d{3})-(\d{4})/ および "123-456-7890" は、"($1) $2-$3" に置き換えることができます。 " の場合、結果は "(123) 456-7890" になります。

4. 結論

正規表現は強力なパターン マッチング ツールであり、これを使用して文字列のマッチングや置換に関するさまざまな問題を処理する方法を学びましょう。 JavaScript では、RegExp オブジェクトと String オブジェクトの正規メソッドを使用して正規表現操作を実行できます。この記事では、正規表現の基本構文と一般的な応用例を紹介し、高度な応用例をいくつか示します。この記事を通じて、読者が JavaScript での正規表現の使用法を理解できることを願っています。

以上がJavaScript が正規表現を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。