※プログラミング学習中の私がアップロードしてます。理解が浅いです。
この記事は厳密な仕様に関するものではなく、考え方理解のまとめとして受け取ってください。
正規表現を用いたreplaceメソッドの使い方
replaceメソッドにおける正規表現では、検索する文字列を『/(スラッシュ)』で囲み、末尾にフラグを付与します。 オプションのフラグを幾つかを列挙します。
フラグ | フラグの意味合い |
---|---|
g | グローバルマッチ |
i | 大文字と小文字の違いを無視する |
m | 複数行を越えたマッチ |
文字 | 説明 | 正規表現の例 | マッチする例 |
---|---|---|---|
^ | 直後の文字が行の先頭にある場合にマッチします。 | google... | |
$ | 直前の文字が行の末尾にある場合にマッチします。 | google$ |
つまり直後の文字で始まるってこと
testメソッドとは
testメソッドは文字列を正規表現でチェックするために使います。
指定した文字列が正規表現のパターンにマッチすれば「true」を返し、マッチしなければ「false」を返します。
testメソッドの使い方
ここでは、「test」を使った検索方法を解説します。
testは正規表現のパターンから呼び出し、引数にチェックする文字列を指定します。
このJavascriptの表現はパスの中にitemsがあり、transactionsが含まれておりparamsの中に1から9の数字か0だけでできているということ。\/は\が直後の文字をメタ文字(正規表現で使う記号)として扱わないという意味で’/’を文字のまま扱ってパスの区切りスラッシュを全て除くということ。
if (path.includes("items") && path.includes("transactions") && /^([1-9]\d*|0)$/.test(params))