JavaScriptで正規表現を文字列と照合する方法【match()メソッドの使い方】
JavaScriptで正規表現を文字列と照合するには、match()メソッドを使用します。match()メソッドは、文字列が正規表現のパターンに一致するかどうかを判定し、マッチした結果を配列として返します。マッチする部分が見つからなかった場合は null を返します。
match()メソッドのパラメータ
- match( param ) − 照合に使用する正規表現オブジェクトを指定します。
サンプルコード
以下のコードは、文字列に対して正規表現を照合する具体的な例です。文章中から「Chapter」で始まる章番号を抽出しています。
<html> <head> <title>JavaScript String match() Method</title> </head> <body> <script> var str = "For more information, see Chapter 3.4.5.1"; var re = /(chapter \d+(\.\d)*)/i; var found = str.match( re ); document.write(found); </script> </body> </html>
実行結果
このコードを実行すると、正規表現にマッチした部分が配列として返され、次のように出力されます。
Chapter 3.4.5.1,Chapter 3.4.5.1,.1
出力の内容は以下の通りです。
- 1番目の要素:マッチした文字列全体(「Chapter 3.4.5.1」)
- 2番目の要素:1番目のキャプチャグループ
(chapter \d+(\.\d)*)に対応する文字列 - 3番目の要素:2番目のキャプチャグループ
(\.\d)に対応する文字列(「.1」)
ポイント
正規表現の末尾にある i フラグは大文字・小文字を区別しない検索を意味します。また、g フラグを付けると文字列内のすべてのマッチ結果を取得できます。フラグの有無によって戻り値の形式が変わる点に注意してください。
-
Pythonの正規表現で単語以外の文字をマッチさせる方法
正規表現を使って文字列から「単語以外の文字」を取り出したい場合、Pythonのreモジュールに用意されている特殊シーケンス \W を使うのが最も簡単です。\W は、英字・数字・アンダースコア([^a-zA-Z0-9_])以外のすべての文字に一致します。以下のコードでは、指定した文字列から単語以外の文字をすべて抽出し、そのリストを出力しています。コード例import re s = ab5z8d*$&Y@ regx = re.compile(r\W) result = regx.findall(s) print(result)ポイントとして、パターン文字列の先頭に r を付けて raw 文字列に
-
【Python】正規表現を使って文字列内の単語をマッチ・抽出する方法
次のコードは、指定された文字列の中から「meeting」という単語を抽出します。ここでは肯定の先読み(look-ahead)と肯定の後読み(look-behind)アサーションを使用しています。これにより、単語を囲む文字の存在を条件として考慮しつつ、その文字自体はマッチ結果に含めないようにできます。コード例import re s = https://www.google.com/meeting_agenda_minutes.html result = re.findall(r(?<=[\W_])meeting(?=[\W_]), s) print(result)出力[meeting]パ