Я пытаюсь разбить строку на группу "%in%" и символ "@". Во всей документации и во всем, что я могу найти, говорится, что круглые скобки — это метасимволы, используемые для группировки в регулярном выражении R. Итак, код
> strsplit('example%in%aa(bbb)aa@cdef', '[(%in%)@]', perl=TRUE)
ДОЛЖЕН дать мне
[[1]]
[1] "example" "aa(bbb)aa" "cdef"
То есть скобки в "aa(bbb)aa" должны оставаться одни, потому что скобки в совпадающем выражении не экранируются. Но вместо этого это ДЕЙСТВИТЕЛЬНО дает мне
[[1]]
[1] "example" "" "" "" "aa" "bbb" "aa" "cdef"
как будто скобки не были метасимволами! Что с этим не так и как я могу это исправить? Спасибо!
Это верно как с аргументом perl=TRUE, так и без него в strsplit.
Each character stands alone
. То, что у вас есть, эквивалентно(?: \( | % | i | n | @ | \) )
- person   schedule 16.01.2014