JavaScript正規表現で「p」を1つ以上含む文字列にマッチさせる方法
JavaScriptの正規表現(RegExp)を使って、「p」を1つ以上含む任意の文字列にマッチさせたい場合は、量指定子である「p+」を使用します。「+」は、直前の文字が1回以上連続して出現することを表す記号です。
サンプルコード
以下のコードを実行すると、文字列の中から「p」が1つ以上連続する部分をすべて抽出できます。ここでは「p+」が、文字「p」の出現回数(1回以上)を表しています。
<html> <head> <title>JavaScript Regular Expression</title> </head> <body> <script> var myStr = "Secure and Responsive!"; var reg = /p+/g; var match = myStr.match(reg); document.write(match); </script> </body> </html>
実行結果
p
コードの解説
この例では、対象となる文字列は「Secure and Responsive!」です。この中に含まれる「Responsive」という単語に「p」が1回出現しているため、正規表現「/p+/g」にマッチします。
- /p+/g:「p」が1回以上連続する部分にマッチし、フラグ「g」(グローバル検索)により、文字列全体から該当するすべての箇所を検索します。
- match():文字列に対して正規表現を適用し、マッチした結果を配列として返します。
もし文字列内に「pp」のように「p」が連続していた場合でも、「p+」はそれらをひとまとまりとしてマッチします。このように量指定子「+」を活用することで、特定の文字の繰り返しを柔軟に扱うことができます。
-
JavaScriptで文字列内の2つ以上の連続スペースを1つのスペースに変換する方法
概要 HTMLの入力欄からユーザーが入力した文字列をJavaScriptで受け取り、その中に含まれる「2つ以上の連続した空白」を検出し、すべて1つのスペースに置き換えるプログラムを作成します。このような処理には正規表現を使うのが最もシンプルで確実な方法です。replace()メソッドの第1引数に正規表現 /\s{2}/g を指定することで、目的の結果を簡単に得られます。 使用する正規表現のポイント \s:半角スペース・タブ・改行などの空白文字にマッチします。 {2}:直前のパターンが2回以上連続する場合にマッチします。 g(グローバルフラグ):文字列内のすべての該当箇所を置換対象にします。
-
JavaScriptで数値と文字数が一致する文字列を検証する方法
問題文字列 str を引数として受け取るJavaScript関数を作成することを考えます。この関数は、文字列内の英字部分を、その直前にある数字に基づいて検証する必要があります。具体的には、文字列を数字で分割し、各数字とそれに続く部分文字列の文字数を比較します。すべての組み合わせが一致していれば、その文字列は有効であるとして true を返し、一箇所でも不一致があれば false を返します。例えば、以下のような文字列を見てみましょう。5hello4from2meこの文字列に対しては、true を返す必要があります。なぜなら、数字で分割すると「hello」「from」「me」という3つの部分文字