我找回來回來R.樂使用正則表達式引用的一個優雅的方式我解釋一下:如何在R中使用帶`grep`的反向引用?
比方說,我想找到用了一個月名開頭的字符串:
x <- c("May, 1, 2011", "30 June 2011")
grep("May|^June", x, value=TRUE)
[1] "May, 1, 2011"
該作品,但我真的想月份(即「五一」,而不是整個匹配的字符串隔離
因此,人們可以使用gsub
返回使用substitute
參數後面引用但是,這裏有兩個問題:。
- 您必須將模式包裝在「。*(pattern)。*)」中,以便替換髮生在整個字符串上。
gsub
不是返回非匹配字符串的NA,而是返回原始字符串。這顯然不是我的願望:
的代碼和結果:
gsub(".*(^May|^June).*", "\\1", x)
[1] "May" "30 June 2011"
我大概可以做各種額外檢查編寫一個解決方法,但是這個方法很快就會非常混亂。
要一清二楚,所期望的結果應該是:
[1] "May" NA
是否有實現這一目標的一個簡單的方法?
謝謝,哈德利。一般來說,我是絃樂器的忠實粉絲。我不知道爲什麼我沒有想到首先在那裏搜索。 D'哦。 – Andrie 2011-06-01 17:12:10