我正在尝试使用 stringr 包使用正则表达式来提取一些文本。出于某种原因,我收到“无效的正则表达式”错误。我在一些网站测试工具中尝试过正则表达式,它似乎在那里工作。我想知道正则表达式在 R 中的工作方式是否有独特之处,尤其是在 stringr 包中。
这是一个例子:
string <- c("MARKETING: Vice President", "FINANCE: Accountant I",
"OPERATIONS: Plant Manager")
pattern <- "[A-Z]+(?=:)"
test <- gsub(" ","",string)
results <- str_extract(test, pattern)
这似乎不起作用。我想得到没有“:”的“营销”、“财务”和“运营”。这就是我使用前瞻语法的原因。我意识到我可以使用以下方法解决这个问题:
pattern <- "[A-Z]+(:)"
test <- gsub(" ","",string)
results <- gsub(":","",str_extract(test, pattern))
但我预计在不久的将来我可能需要在比这更复杂的情况下使用环视。
我是否需要用一些转义或其他东西来修改正则表达式以使其工作?