JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptで文字列内の複数の出現箇所を正規表現でマッチさせる方法

文字列内に含まれる複数の出現箇所をすべて抽出・マッチさせるには、正規表現を使用します。ポイントは、正規表現パターンの末尾にグローバルフラグ(g)を付けることです。これにより、最初の1件だけでなく、文字列中のすべての該当箇所を取得できます。

実装コード例

以下の例では、文章の中から「JavaScript」および「typescript」に関連する単語をすべて検出しています。

function checkMultipleOccurrences(sentence) {
    var matchExpression = /(JavaScript?[^\s]+)|(typescript?[^\s]+)/g;
    return sentence.match(matchExpression);
}
var sentence = "This is my first JavaScript Program which is the subset of typescript";
console.log(sentence);
console.log(checkMultipleOccurrences(sentence));

コードのポイント

  • 正規表現 /(JavaScript?[^\s]+)|(typescript?[^\s]+)/g の末尾にある g フラグにより、すべての出現箇所がマッチ対象になります。
  • [^\s]+ は空白以外の文字が1文字以上続く部分にマッチします。
  • String.match() メソッドは、マッチした文字列を配列として返します。

プログラムの実行方法

上記のプログラムを実行するには、Node.js環境で次のコマンドを使用します。

node fileName.js

ここでは、ファイル名を「demo70.js」として保存した場合の例を示します。

実行結果(出力)

プログラムを実行すると、以下のような出力が得られます。

PS C:\Users\Amit\JavaScript-code> node demo70.js
This is my first JavaScript Program which is the subset of typescript
[ 'JavaScript', 'typescript' ]

このように、g フラグ付きの正規表現と match() を組み合わせることで、文中に複数回登場するキーワードを簡単に配列として抽出できることが確認できました。

  1. JavaScriptで複数ステップのフォームを作成する方法|入力チェック付きマルチステップフォームの実装例

    ユーザー登録やアンケートなど、入力項目が多いフォームでは、すべての項目を1画面に詰め込むとユーザーの負担が大きくなり、離脱の原因にもなります。そこで有効なのが、フォームを複数のステップ(ページ)に分割して表示する「マルチステップフォーム」です。 本記事では、JavaScriptを使って「次へ」「戻る」ボタンでステップを切り替えられるフォームを作成する方法を紹介します。さらに、各ステップごとの入力チェック(バリデーション)や、進行状況を示すインジケーター(ドット表示)の実装方法も合わせて解説します。 コード例 <!DOCTYPE html> <html> <meta

  2. JavaScriptで数値と文字数が一致する文字列を検証する方法

    問題文字列 str を引数として受け取るJavaScript関数を作成することを考えます。この関数は、文字列内の英字部分を、その直前にある数字に基づいて検証する必要があります。具体的には、文字列を数字で分割し、各数字とそれに続く部分文字列の文字数を比較します。すべての組み合わせが一致していれば、その文字列は有効であるとして true を返し、一箇所でも不一致があれば false を返します。例えば、以下のような文字列を見てみましょう。5hello4from2meこの文字列に対しては、true を返す必要があります。なぜなら、数字で分割すると「hello」「from」「me」という3つの部分文字