ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScriptのexecメソッドの使い方

JavaScriptのexecメソッドの使い方

藏色散人
藏色散人オリジナル
2021-04-01 15:32:043009ブラウズ

JavaScript の exec メソッドは、文字列内の正規表現の一致を取得するために使用されます。その使用構文は「RegExpObject.exec(string)」であり、パラメータ string は取得する文字列を表します。

JavaScriptのexecメソッドの使い方

このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。

JavaScript exec() メソッド

exec() メソッドは、文字列内の正規表現の一致を取得するために使用されます。

構文

RegExpObject.exec(string)

パラメータ

文字列は必須です。取得する文字列。

戻り値

一致した結果が格納される配列を返します。一致するものが見つからない場合、戻り値は null になります。

説明

exec() メソッドは非常に強力です。これは汎用メソッドであり、test() メソッドや正規表現をサポートする String オブジェクトのメソッドよりも使いやすいです。 。 複雑な。

exec() は一致するテキストを見つけた場合、結果の配列を返します。それ以外の場合は null を返します。この配列の 0 番目の要素は正規表現に一致するテキスト、1 番目の要素は RegExpObject の 1 番目の部分式 (存在する場合) に一致するテキスト、2 番目の要素は RegExpObject の 1 番目の部分表現に一致するテキストです。 2 つの部分式 (存在する場合) など。配列要素と長さのプロパティに加えて、exec() メソッドは 2 つのプロパティを返します。 Index 属性は、一致したテキストの最初の文字の位置を宣言します。 input 属性には、取得した文字列 string が格納されます。非グローバル RegExp オブジェクトの exec() メソッドが呼び出されたときに返される配列は、String.match() メソッドによって返される配列と同じであることがわかります。

ただし、RegExpObject がグローバル正規表現である場合、exec() の動作は少し複雑になります。 RegExpObject の lastIndex プロパティで指定された文字から文字列 string の取得を開始します。 exec() は、式に一致するテキストを見つけると、一致後の一致テキストの最後の文字の隣の位置に RegExpObject の lastIndex プロパティを設定します。これは、 exec() メソッドを繰り返し呼び出すことで、文字列内の一致するすべてのテキストを反復処理できることを意味します。 exec() は一致するテキストが見つからなくなると、null を返し、lastIndex プロパティを 0 にリセットします。

[推奨学習: js 基本チュートリアル]

ヒントと注意事項

重要: 文字列内のパターン一致が完了した後、新しい文字列を使用する場合は、lastIndex プロパティを手動で 0 にリセットする必要があります。

ヒント: RegExpObject がグローバルであるかどうかに関係なく、exec() は返される配列に完全な詳細を追加することに注意してください。ここが exec() が String.match() と異なる点です。 String.match() はグローバル モードではるかに少ない情報を返します。したがって、ループ内で exec() メソッドを繰り返し呼び出すことが、グローバル パターンの完全なパターン マッチング情報を取得する唯一の方法であると言えます。

この例では、文字列で W3School をグローバルに取得します:

<script type="text/javascript">
var str = "Visit W3School"; 
var patt = new RegExp("W3School","g");
var result;
while ((result = patt.exec(str)) != null)  {
  document.write(result);
  document.write("<br />");
  document.write(patt.lastIndex);
 }
</script>

出力:

W3School
14

以上がJavaScriptのexecメソッドの使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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