まずは問題の概要を把握しましょう。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」の解法についての説明です。この解法を使えば、正規表現を活用して文字列のパターンマッチングや置換を行う際に役立つでしょう。ぜひチャレンジしてみてください!