2017-02-10 2 views
0

Я довольно новичок в регулярном выражении, поэтому я мог бы выглядеть глупо, но я много раз искал, и я не могу получить его сам.получить первое появление шаблона

Оригинальная строка:

blabla\ni want that\nblabla\nblabalbla\nblabla 

Что я хочу получить:

[1] i want that 

т.е. первое вхождение строки между двумя \ п

Я пытался сделать это с GSUB. Кажется легким, как ад, но я застрял.

Я использую R с PCRE synthax

благодаря

+1

Добро пожаловать в переполнение стека! Пожалуйста, покажите свои попытки и их результаты. – Vincent

ответ

0

Мы можем использовать основные регулярные выражения с sub, чтобы соответствовать нулю или более символов, которые не \n ([^\n]*) с самого начала (^) из строка, за которой следует \n, затем один или несколько символов, которые не являются \n, фиксируют как группу (([^\n]+)), за которыми следуют символы в конце строки и заменяют ее на обратную ссылку (\\1) этой группы

sub("^[^\n]*\n([^\n]+).*", "\\1", str1) 
#[1] "i want that" 
Смежные вопросы