記事を書いた経緯
chatアプリのメッセージの自動更新のイベント発火させるための条件式において、複数の/(スラッシュ)や(バックスラッシュ)の意味がわかったのでアウトプットします。条件式の意味としては、『現在開いているページのURLの中に「groups数字messages」が含まれていたら、条件式がtrueになる』という意味である。
if (window.location.href.match(/\/groups\/\d+\/messages/)){
自動更新の処理
}
複数の/(スラッシュ)や(バックスラッシュ)の意味について
match(//groups/\d+/messages/)
1 両端の/(スラッシュ)に意味について
両端の/(スラッシュ)は、matchメソッドを使用する時に操作したい文字列を囲む時に使う。
match(/対象の文字列/)
2 /groupsの/(スラッシュ)や(バックスラッシュ)の意味について
初めの(バックスラッシュ)は、次の文字をエスケープすることを意味する。
その次の/(スラッシュ)は、パスのスラッシュを意味する。
3 **/\d+**の/(スラッシュ)や(バックスラッシュ)の意味について
初めの(バックスラッシュ)は、次の文字をエスケープすることを意味する。
その次の/(スラッシュ)は、パスのスラッシュを意味する。
**\d+**の意味について
\dは、数字にマッチしていることを意味する。
ex.groups/1/messagesのパスの1の部分を意味する。
**+**は、直前の文字の 1 回以上の繰り返しにマッチしていることを意味する。
ex.groups/1234/messagesのパスであれば、数字が繰り返し使われているので、+が必要となる。
4 /messagesの/(スラッシュ)や(バックスラッシュ)の意味について
初めの(バックスラッシュ)は、次の文字をエスケープすることを意味する。
その次の/(スラッシュ)は、パスのスラッシュを意味する。
<参考記事>
・https://pleiades.io/help/pycharm/regular-expression-syntax-reference.html
・https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Regular_Expressions
・https://qiita.com/iLLviA/items/b6bf680cd2408edd050f
・https://blog.siteanatomy.com/2017/10/regexp-for-goal-destination.html
location.hrefについて
・https://www.sejuku.net/blog/26999
・http://alphasis.info/2013/07/javascript-locationobject-href/