代替テキストを検索するためのJavaScript正規表現の書き方
JavaScriptの正規表現で、指定したいずれかの候補に一致させたい場合は、選択(alternation)と呼ばれる構文を使用します。パイプ記号 | を使って候補を区切り、以下のようなパターンを記述します。
(foo|bar|baz)
このパターンは、「foo」「bar」「baz」のいずれかに一致する文字列を検索します。括弧 () で囲むことで、グループ化され、より複雑な正規表現の一部としても利用できます。
基本構文のポイント
|(パイプ): 左右のいずれかのパターンに一致することを意味します。( )(グループ化): 複数の候補をひとまとめにし、後方参照や量指定子との組み合わせを可能にします。gフラグ: 文字列全体から一致するすべての箇所を検索します。指定しない場合は最初の1件のみが返されます。
サンプルコード
実際に、文字列から「one」「two」「three」のいずれかに一致するテキストをすべて抽出するコードを見てみましょう。
<html> <head> <title>JavaScript Regular Expression</title> </head> <body> <script> var myStr = "one,one,one, two, three, four, four"; var reg = /(one|two|three)/g; var match = myStr.match(reg); document.write(match); </script> </body> </html>
実行結果
one,one,one,two,three
コードの解説
この例では、変数 myStr にカンマ区切りの単語を含む文字列を代入しています。正規表現 /(one|two|three)/g は、g(グローバル)フラグ付きで定義されているため、文字列全体から「one」「two」「three」のいずれかに一致するすべての部分を検索します。
match() メソッドは、一致した文字列を配列として返します。そのため、出力には「four」は含まれず、一致した「one」「two」「three」のみが表示されます。
応用例:大文字小文字を無視して検索する
i フラグを追加すると、大文字・小文字を区別せずに検索できます。
var reg = /(one|two|three)/gi;
このように、選択構文 | を活用することで、複数の候補語を柔軟に検索できるようになります。
-
最高のJavaScriptコンプレッサーはどれ?主要な圧縮ツールを徹底解説
JavaScriptファイルのサイズは、Webサイトの表示速度やユーザー体験に大きな影響を与えます。コードを圧縮(ミニファイ)することで、不要な空白やコメントを取り除き、読み込み時間を大幅に短縮できます。ここでは、特におすすめのJavaScript圧縮ツールを紹介します。 Google Closure Compiler Google Closure Compilerは、Googleが提供する高機能なJavaScript最適化ツールです。単純な圧縮にとどまらず、JavaScriptを解析し、デッドコード(未使用のコード)を削除したうえで、残りのコードを書き換えて最小化します。その結果、実行速度の
-
JavaScriptで数の素数階乗(プリモリアル)を求める方法
素数階乗(プリモリアル:primorial)とは、ある数 n に対して、最初の n 個の素数をすべて掛け合わせた値のことです。素数階乗の計算例例えば、n = 4 の場合を見てみましょう。このとき、primorial(n) の出力は以下のようになります。2 * 3 * 5 * 7 = 210つまり、最初の4つの素数「2、3、5、7」を掛け合わせた 210 が答えとなります。実装のポイント今回は、数値を引数として受け取り、その素数階乗を返す JavaScript 関数を作成します。実装には以下のステップが必要です。isPrime関数: 与えられた数が素数かどうかを判定する補助関数primorial