“JavaScriptのStringオブジェクトのmatch()メソッドについて記載します。
概要、実際のサンプルコードを交えて構文などの使い方をまとめてみました。
JavaScriptのStringオブジェクトとは?
JavaScript(JS) のStringオブジェクト(文字列)は、他の言語と比べて、動的なデータ型として定義されています。
そして、 他のプログラミング言語 (C 言語など) とは異なり、文字列のメソッドが豊富に用意されています。
また、文字列と数値を効率的に相互変換する方法も提供されています。
事前に定義されたメソッドを利用して文字列操作が容易に出来る点も他言語と比べても有利な点ですが、他の言語と比べて一部の文字列処理が遅くなることがあるとも言われています。
それでは、次に本題の説明に移ります。
JavaScriptのStringオブジェクトのmatch()概要
Stringオブジェクトのmatch()は、文字列内の正規表現に一致する部分文字列を検索し、その結果を配列として返します。
構文、使い方
構文:str.match(regexp)
使い方:str.match(regexp)は、文字列str内に正規表現regexpにマッチする部分文字列を検索し、その部分文字列を含む配列を返します。
引数について
match()の引数は、正規表現オブジェクトまたは文字列を指定します。
正規表現オブジェクトを指定すると、文字列内のパターンに一致する部分文字列を検索します。
文字列を指定すると、文字列内にその文字列が含まれているかどうかを検索します。
返り値について
match()は、文字列から正規表現に一致する部分文字列を検索し、その部分文字列を含む配列を返します。
このメソッドを利用した便利なテクニック
Stringオブジェクトのmatch()を使うと、文字列内にある正規表現に一致する文字列を検索することができます。
例えば、任意の文字列からURLを抽出したり、文字列内にある数値を取得したりすることができます。
現場で実際にどのように使われているか
Stringオブジェクトのmatch()は、文字列内に正規表現と一致するパターンがあるかどうかを確認するために使用されます。
例えば、次のコードは、文字列内に””cat””という文字列があるかどうかを確認します。
1 2 3 4 |
let str = ""The cat is in the house""; let result = str.match(/cat/); // result = [""cat""] |
JavaScriptのStringオブジェクトのmatch()と一緒によく使われる処理
RegExpオブジェクトを使用することです。
RegExpオブジェクトを使用すると、文字列を正規表現で検索して一致する文字列を取得することができます。
使用する上での注意点
– 正規表現を使用する場合、文字列の先頭に^を付けることを忘れないでください。
– 正規表現を使用する場合、文字列の末尾に$を付けることを忘れないでください。
– 正規表現を使用する場合、文字列を正確に一致させるために、文字列の中で特定の文字をエスケープする必要がある場合があります。
JavaScriptのStringオブジェクトのmatch()と似た処理のJSメソッド、違い
test()メソッドです。
match()メソッドは正規表現を使用して文字列を検索しますが、test()メソッドは正規表現を使用して文字列が一致するかどうかをテストします。
JavaScriptのStringオブジェクトのmatch()を使ったサンプルコードの紹介
match()のサンプルコード1
1 2 3 |
let str = ""The rain in SPAIN stays mainly in the plain""; let res = str.match(/ain/g); console.log(res); |
match()のサンプルコード2
1 2 3 |
let str = ""The rain in SPAIN stays mainly in the plain""; let res = str.match(/ain/i); console.log(res); |
JavaScript stringオブジェクトの他メソッドについて
JavaScriptのmapオブジェクトの他メソッドについては、下記記事にもまとめていますので参考にしてみてください
また、JavaScriptの公式ドキュメントであるMDNで記載されているstringオブジェクトのmatchメソッドについても補足としてリンクを貼っておきます。参考にしてみてください。