我对正则表达式很新,所以我可能看起来很傻,但我已经做了很多搜索,而且我自己无法得到它。
原始字符串:
blabla\ni want that\nblabla\nblabalbla\nblabla
我想得到什么:
[1] i want that
即。第一次出现两个\ n之间的字符串
我试着用gsub来做。这似乎很容易,但我被困住了。
我正在使用R和PCRE synthax
感谢
答案 0 :(得分:0)
我们可以使用sub
的基本正则表达式来匹配从字符串的开头(\n
)起的非[^\n]*
(^
)的零个或多个字符通过\n
,然后是一个或多个不是\n
的字符,捕获为一个组(([^\n]+)
),后跟字符串到字符串的末尾,并将其替换为反向引用(该被捕获群体的\\1
)
sub("^[^\n]*\n([^\n]+).*", "\\1", str1)
#[1] "i want that"