Это ограничение в 9 обратных ссылок относится только к функциям sub()
и gsub()
, а не к таким функциям, как grep()
и т.п. Поддержка более 9 обратных ссылок в R подразумевает использование регулярного выражения PCRE (то есть аргумент perl=TRUE
); однако даже с этой опцией функции sub () и gsub () не поддерживают ее.
Документация R явно указана по этому вопросу: см. ?regexp
There can be more than 9 backreferences (but the replacement in sub can
only refer to the first 9).
Кроме того, идея использования именованных групп захвата для обхода этого ограничения обречена на провал, поскольку именованные группы захвата не поддерживаются функциями sub ().
regexpr and gregexpr support ‘named capture’. If groups are named,
e.g., "(?<first>[A-Z][a-z]+)" then the positions of the matches are also
returned by name. (Named backreferences are not supported by sub.)