У меня есть несколько файлов, похожих на «PRISM_ppt_stable_4kmM2 _ ------ _ bil.bil», где ------ - год и месяц, например 190112. Дата файла варьируется от 189501 до 198012. В R на машине с Windows 7 я хотел бы сопоставить все файлы на время с 192001 по 193912. Я уверен, что хочу grepl()
, но я не могу выяснить способ ссылки на последовательность в команде. Я попыталсяgrep для соответствия определенной последовательности чисел в сочетании текста и цифр
my.files[grepl('PRISM.*/1920/.bil$',my.files)]
и
my.files[grepl('PRISM.*[1][9][2][0].',my.files)]
и другие вариации, но только получать сообщения об ошибках. Я знаю, что [0-9] {4} будет соответствовать любой последовательности из четырех чисел, но это будет соответствовать всем файлам.
'(189 [5-9] | 1 [9] ([0-7] [0-9] | 80)) (0 [1- 9] | 1 [0-2]) 'попробуйте это регулярное выражение. –
@AruneshSingh благодарит за предложение. Это будет охватывать все файлы/даты. Я искал небольшой набор дат, но я смог использовать ваш ответ, чтобы найти то, что я хотел. 'my.files [grepl ('(192 [0-9] | 193 [0-9]) (0 [1-9] | 1 [0-2])', my.files)]' – shea
Lol, извините Я думал, что вы хотите соответствовать от 1895 до 1980 года, потому что это действительно так. –