R言語で、正規表現のメタ文字をエスケープする方法について解説します。文字列の操作には、tidyverseパッケージに含まれているstringrパッケージを使用するのが便利です。ここでは、stringrパッケージのstr_escape()を使用した方法についてお伝えします。

str_escape()の概要

str_escape()は、正規表現のメタ文字をエスケープするための関数です。str_escape()は、正規表現エンジンにとって特別な意味を持つ文字であるメタ文字をエスケープします。ほとんどの場合、fixed()の方が高速なので、これを使用する方が適切ですが、ユーザー指定の文字列をパターンに構成する場合はstr_escape()が便利です。

str_escape()の使い方

stringr::str_escape()の使い方は次になります。


str_escape(string)

str_escape()の引数の意味

string

文字ベクトルまたは文字ベクトルに変換可能なものを指定します。

準備

あらかじめ、tidyverseパッケージを読み込んでおきます。


library(tidyverse)

str_escape()の使用例

正規表現のメタ文字をエスケープするには次のようにします。


str_escape("^A.*")

[1] "\\^A\\.\\*"
R×stringr::str_escape 正規表現のメタ文字をエスケープする