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'] になっています。