113  補足 R4.0.0以降のRaw String

少しだけ補足です。

一般的な正規表現は、 1つでメタ文字を表してくれるのですが、Rの正規表現は、、\dというふうに、一つ目の。

R 4.0.0以降では、この\というややこしい表記をしないでよいようにするための特別な書き方が導入されており、

""
[1] ""
r"()"
[1] ""
"abc"
[1] "abc"
r"(abc)"
[1] "abc"

という具合に、r”“とかいてあげて、”“の内側に、()を入れてあげることで「このテキストは」という意味になります。なので、

#"\d"

だとエラーがでるので、

"\\d"
[1] "\\d"

実際はcatという実際の印字を表現できる関数にいれてあげると、

cat("\\d")
\d

と。これに、r”“の記載方法を用いてあげると、

cat(r"(\d)")
\d
cat("\\\\d")
\\d
cat(r"(\\d)")
\\d

という具合です。

本コースでは、r”()“表記でなく”“表記を用いていますが、どちらを用いていただいても構いません。

ついでにもう少しこのr()とcatの動きをみておきましょう。、

cat(  "abc\ndef\nghi" )
abc
def
ghi
cat(r"(abc\ndef\nghi)")
abc\ndef\nghi
cat(  "abc\\ndef\\nghi")
abc\ndef\nghi

こんな感じの結果になります。

それでは続けていきましょう。