10 Days of JavaScript の Day 7: Regular Expressions の HackerRank 解法


まずは問題の概要を把握しましょう。Day 7 の課題では、テキスト内の特定のパターンに一致する文字列を検索し、置換する必要があります。具体的には、与えられたテキストから特定のパターンに一致するすべての「@username」という形式の文字列を抽出し、それぞれの「@username」を「@username」という形式に置換します。

function processData(input) {
    var pattern = /@(\w+)/g;
    var replacedText = input.replace(pattern, "<a href='http://www.hackerrank.com/$1'>@$1</a>");
    console.log(replacedText);
}

上記のコードでは、processData 関数が与えられたテキストを受け取り、正規表現パターン /@(\w+)/g を使用して文字列の置換を行います。@ の後に続く \w+ は、英数字の連続した文字列にマッチします。$1 はマッチした文字列を保持し、置換後の文字列内で使用されます。

この解法を使うと、与えられたテキスト内のすべての @username が正しく <a href='http://www.hackerrank.com/username'>@username</a> に置換されます。

以上が、10 Days of JavaScript の Day 7 の HackerRank 課題である「Regular Expressions」の解法についての説明です。この解法を使えば、正規表現を活用して文字列のパターンマッチングや置換を行う際に役立つでしょう。ぜひチャレンジしてみてください!