Если вас не волнует контекст abc\d{2}
, вы можете использовать
sub(".*(abc\\d{2}).*", "\\1", smple_paths)
См. это регулярное выражение и это демо R .
Если вам небезразличен контекст, вы можете сопоставить и захватить abc
+ 2 цифры после /
и до /
или до конца строки, сопоставляя любой текст до и после этого шаблона, используя
sub("^.*/(abc\\d{2})(?:/.*)?$", "\\1", smple_paths)
См. Демо R и демо regex .
Подробности
^
- начало строки (здесь не обязательно, но сохранено для ясности) .*
- любые 0+ символов, как можно больше /
- /
символ (abc\\d{2})
- группа 1: abc
и 2 цифры (?:/.*)?
- необязательное (1 или 0) вхождение /
с последующими 0+ символами как можно больше $
- конец строки.
Заполнитель \1
в шаблоне замены вставляет захваченный текст обратно врезультат.