2017-02-10 47 views
0

我對正則表達式很陌生,所以我可能看起來很傻,但是我做了很多搜索,而且我無法自己找到它。獲得模式的第一個匹配項

原始字符串:

blabla\ni want that\nblabla\nblabalbla\nblabla 

我希望得到什麼:一個字符串的

[1] i want that 

即第一次出現之間有兩個\ n

我試着用GSUB做到這一點。它似乎很容易,但我被困住了。

我使用R 3與PCRE synthax

感謝

+1

歡迎來到Stack Overflow!請告訴你的嘗試和他們的結果。 – Vincent

回答

0

我們可以使用正則表達式基本與sub從的開始(^)匹配零個或多個字符不屬於\n[^\n]*)然後是一個或多個不是\n的字符,作爲一個組(([^\n]+))捕獲,然後將字符截取到字符串的末尾,並將其替換爲該捕獲組的反向引用(\\1

sub("^[^\n]*\n([^\n]+).*", "\\1", str1) 
#[1] "i want that" 
相關問題