Visit Mozilla.org

Core JavaScript 1.5 Reference:Global Objects:String:match

出典: MDC


目次

[編集] 概要

正規表現 に対する 文字列 のマッチングのときに、そのマッチの結果を得るために使われます。

String のメソッド
実装されたバージョン: JavaScript 1.2
ECMA バージョン: ECMA-262, Edition 3

[編集] 構文

match(regexp)

[編集] パラメータ

regexp 
正規表現 (RegExp) オブジェクトです。RegExp オブジェクトではないオブジェクト obj が渡された場合、それは new RegExp(obj) を使用することによって RegExp オブジェクトに暗黙的に変換されます。

[編集] 詳細

正規表現が g フラグを含んでいない場合、regexp.exec(string) と同じ結果を返します。

正規表現が g フラグを含んでいる場合、マッチのすべてを含む 配列 (Array) を返します。

[編集]

  • 文字列が regexp という正規表現にマッチするかどうかを知る必要がある場合、regexp.test(string) を使用してください。
  • 一番最初に見つけたマッチだけが欲しい場合、代わりに regexp.exec(string) を使用した方が良いかもしれません。

[編集] 追加の文書

  • the ECMA-262 specification の A§15.5.4.10 を参照してください。

[編集]

[編集] 例: match の使用

以下の例において、match は "Chapter" 、それに続く1 つ以上の数字、それに続く 0 回以上の小数点と数字、を見つけるために使われています。正規表現が i フラグを含む場合、大文字と小文字の違いは無視されます。

<script type="text/javascript">
str = "For more information, see Chapter 3.4.5.1";
re = /(chapter \d+(\.\d)*)/i;
found = str.match(re);
document.write(found);
</script>

これは、Chapter 3.4.5.1,Chapter 3.4.5.1,.1 を含む配列を返します。

"Chapter 3.4.5.1" は、 一番最初のマッチと、(Chapter \d+(\.\d)*) で記憶された 1 番目の値です。

".1" は、(\.\d) で記憶された 2 番目の値です。

[編集] 例: match での グローバル (global) フラグ と 大文字と小文字の違いを無視する (ignore case) フラグの使用

以下の例は、グローバル (global) フラグ と 大文字と小文字の違いを無視する (ignore case) フラグの使用のデモです。

A から E までと、a から e までの文字のすべてが、それぞれ、配列の要素の 1 つとして返ります。

var str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
var regexp = /[A-E]/gi;
var matches_array = str.match(regexp);
document.write(matches_array);

matches_array は、['A', 'B', 'C', 'D', 'E', 'a', 'b', 'c', 'd', 'e'] になっています。