Я не очень хорош в использовании сложных регулярных выражений, поэтому я бы выполнил такую задачу следующим образом:
files <- list.files()
dbf.files <- files[-grep(".xml", files, fixed=T)]
Первая строка просто перечисляет все файлы из рабочего каталога. Второй отбрасывает все, что содержит «.xml» (grep возвращает индексы таких строк в векторе «files»; подстановка с отрицательными индексами удаляет соответствующие записи из вектора).
«фиксированный» аргумент для функции grep - это только моя прихоть, поскольку я обычно хочу, чтобы она выполняла грубое сопоставление с образцом без необычных регулярных выражений в стиле Perl, что может вызвать у меня удивление.
Я знаю, что такое решение просто отражает недостатки в моем образовании, но для новичка это может быть полезно =) по крайней мере, это просто.