JavaScriptの正規表現マッチングに変数を使う方法
JavaScriptでは、match()メソッドに変数名を渡すことで、文字列内のパターンを動的に検索できます。正規表現オブジェクトを作成するには、new RegExp()コンストラクタを使用します。
基本的な構文
console.log(対象の変数名.match(マッチング用変数名));
検索したいキーワードが変数に格納されている場合は、その変数をnew RegExp()の第一引数に渡して正規表現オブジェクトを生成します。第二引数にはフラグ(例: 'g'は全件検索)を指定できます。
実装例
var senetence = 'My Name is John';
console.log("元の値=");
console.log(senetence);
var matchWord = 'John';
console.log("マッチさせる値=");
console.log(matchWord);
var matchRegularExpression = new RegExp(matchWord, 'g');
console.log(senetence.match(matchWord));プログラムの実行方法
上記のプログラムを実行するには、Node.js環境で以下のコマンドを使用します。
node fileName.js
ここでは、ファイル名をdemo107.jsとしています。
出力結果
このコードを実行すると、以下のような出力が得られます。
PS C:\Users\Amit\JavaScript-code> node demo107.js 元の値= My Name is John マッチさせる値= John
ポイント解説
- 文字列リテラルを直接
match()に渡すことも可能ですが、変数から正規表現を作成したい場合はnew RegExp()を使いましょう。 - 検索語に特殊文字が含まれる可能性がある場合は、
RegExpに渡す前にエスケープ処理を行うことをおすすめします。 'g'フラグを付けると、最初の一つだけでなく、文字列中のすべての一致箇所を配列として取得できます。
-
JavaScriptの正規表現修飾子(g・i・m)をサンプルコード付きで解説
JavaScriptの正規表現修飾子とは JavaScriptの正規表現における修飾子(フラグ)とは、パターンリテラルの末尾に付加することで検索の挙動を変更できる、省略可能な指定のことです。これを使うことで、大文字と小文字を区別しない検索や文字列全体を対象としたグローバル検索などが簡単に実現できます。さらに、複数の修飾子を組み合わせて指定することも可能です。 主な修飾子の一覧 修飾子説明 gグローバルマッチングを有効にします。最初の一致で処理を止めず、マッチしたすべての結果を返します。 i大文字と小文字を区別しない(ignore case)マッチングを有効にします。 m複数行(mul
-
DOM要素を取得してconsole.logでコンソールに出力する方法【JavaScript入門】
JavaScriptでDOMに関連する変数をコンソールに表示したい場合、document.getElementById()を使用して対象の要素を取得し、その結果をconsole.log()で出力します。この記事では、実際のコード例を使って、DOM要素をコンソールにログとして表示する手順をわかりやすく解説します。コード例以下は、テキスト入力フィールドのDOM要素を取得してコンソールに表示するサンプルコードです。<!DOCTYPE html> <html lang=ja> <head> <meta charset=UTF-8>