我正在尝试在R中进行正则表达式查找,以查找模式。我希望这会在'bob'中拉出'b',但是我得到了一个错误。

> regexpr("(?<=a)b","thingamabob")
Error in regexpr("(?<=a)b", "thingamabob") :
invalid regular expression '(?<=a)b', reason 'Invalid regexp'


这不会引发错误,但是也找不到任何东西。

> regexpr("(.<=a)b","thingamabob")
[1] -1
attr(,"match.length")
[1] -1
attr(,"useBytes")
[1] TRUE


我很困惑,因为regexpr的帮助页面专门指出了lookbehind应该可以工作:http://stat.ethz.ch/R-manual/R-patched/library/base/html/regex.html

有任何想法吗?

最佳答案

您只需通过设置perl = TRUE切换到PERL正则表达式。

09-12 20:21