我真搞不清楚反向引用向引用R中
strings <- c("^ab", "ab", "abc", "abd", "abe", "ab 12")
gsub("(ab) 12", "\\1 34", strings)
[1] "^ab" "ab" "abc" "abd" "abe" "ab 12"
gsub("(ab)12", "\\2 34", strings)
[1] "^ab" "ab" "abc" "abd" "abe" "ab 12"
的用法我知道\ 1指的是第一個子模式(左讀),\ 2指的是第二子模式,等等。但我不知道這個子模式意味着什麼。爲什麼\ 1和\ 2給出不同的輸出
gsub("(ab)", "\\1 34", strings)
[1] "^ab 34" "ab 34" "ab 34c" "ab 34d" "ab 34e" "ab 34 12"
另外,爲什麼我刪除12後(ab)然後它給出了這樣的結果?
gsub("ab", "\\1 34", strings)
[1] "^ 34" " 34" " 34c" " 34d" " 34e" " 34 12"
此外,如果ab沒有括號?它表明什麼?
我真的搞砸了反向引用,並希望有人能夠解釋的邏輯顯然
它不是一個「子模式」,而是一個*捕獲組*。如果你google了,你會發現很多資源()方括號內的任何模式都是一個捕獲組,無論如何,在第一個例子中,我沒有得到相同的結果,最後一個元素是'ab 34',而不是'ab 12' – nicola
是的,你是對的,我粘貼了一個不正確的輸出。 –