R中的Gsub拼图:匹配模式

时间:2012-10-20 03:42:40

标签: r

gsub("([a-z]+)([0-9]+)","\\2","ytu678yu")
[1] "678yu"
gsub("([a-z]+)([0-9]+)(.*)","\\2","ytu678yu")
[1] "678"

我想知道为什么gsub("([a-z]+)([0-9]+)","\\2","ytu678yu")无法获得678

1 个答案:

答案 0 :(得分:3)

在第一种情况下,模式匹配“ytu678”然后用“\ 2”替换为“678”,所以最后得到“678yu”。

在第二种情况下,模式匹配“ytu678yu”,然后将其替换为“\ 2”即“678”,所以最后得到“678”。

试试这个:

> gsub("([a-z]+)([0-9]+)","","ytu678yu")
[1] "yu"
> gsub("([a-z]+)([0-9]+)(.*)","","ytu678yu")
[1] ""