Pythonのraw stringsとの関連で正規表現リテラルを少し

Pythonのraw strings(こちらを参照)を使うと、2つのバックスラッシュはr”\\”と表記できます。
実は、正規表現リテラルでも2つのバックスラッシュは/\\/と短く表記できます
ただし、Pythonに正規表現リテラルはないようです。

JavaScriptで例を示します。
この例は、バックスラッシュ‘\\’を(フォワード)スラッシュ‘/’に置換する例です。

> 'C:\\Users...'.replace(/\\/, '/')
  "C:/Users..."

参考:正規表現 – JavaScript | MDN

説明

正規表現で1つのバックスラッシュを表現するには、バックスラッシュを2つ並べる(エスケープする)必要があります(\\で1つのバックスラッシュ)。

また、文字列リテラルでも1つのバックスラッシュを表現するのにバックスラッシュを2つ並べる必要があります(”\\”で1つのバックスラッシュ)。

そのため、正規表現で1つのバックスラッシュを表現するときに文字列リテラルを使おうとすると、その記述は “\\\\” となります。

しかし、正規表現リテラル(上記の例では /\\/)を使うと、1つのバックスラッシュを表現するのにバックスラッシュは1つでOKです

そのため、正規表現で1つのバックスラッシュを表現するときに正規表現リテラルを使おうとすると、その記述は /\\/ となります。

おわりに

今回はraw stringsとの関連で正規表現リテラルについて説明しました。
JavaScriptはブラウザのF12ツール(コンソール)で動作確認ができます。
ぜひ、試してみて下さい。

では。


YouTube: ミサキさん

問い合わせ先
Mail: caprico.aries@gmail.com
Twitter: https://twitter.com/caprico_aries(無言フォローもお気軽に)

コメント

タイトルとURLをコピーしました