Подтвердить что ты не робот

Почему это регулярное выражение, использующее lookbehinds недействительно в R?

Я пытаюсь сделать регулярное выражение lookbehind в R, чтобы найти шаблон. Я ожидаю, что это потянет "b" в "bob", но вместо этого я получаю сообщение об ошибке.

> 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

Любые идеи?

4b9b3361

Ответ 1

Вам просто нужно переключиться на регулярные выражения PERL, установив perl = TRUE.