stringr パッケージを使用して正規表現を使用してテキストを抽出しようとしています。何らかの理由で、「無効な正規表現」エラーが発生します。いくつかの Web サイト テスト ツールで正規表現を試してみましたが、そこで動作するようです。R、特に stringr パッケージで正規表現がどのように機能するかについて、何かユニークな点があるかどうか疑問に思っていました。
次に例を示します。
string <- c("MARKETING: Vice President", "FINANCE: Accountant I",
"OPERATIONS: Plant Manager")
pattern <- "[A-Z]+(?=:)"
test <- gsub(" ","",string)
results <- str_extract(test, pattern)
これは機能していないようです。「MARKETING」、「FINANCE」、および「OPERATIONS」を「:」なしで取得したいと考えています。そのため、私は先読み構文を使用しています。次の方法を使用して、これを回避できることに気付きました。
pattern <- "[A-Z]+(:)"
test <- gsub(" ","",string)
results <- gsub(":","",str_extract(test, pattern))
しかし、近い将来、これよりも複雑な状況でルックアラウンドを使用する必要があるかもしれないと予想しています。
これを機能させるために、正規表現をいくつかのエスケープまたは何かで修正する必要がありますか?