word<-"xyz9874w9874w"
gsub( "([a-z]+)([0-9]+)([a-z])(\\w)", "\\1", word )
[1] "xyz874w"
gsub( "([a-z]+)([0-9]+)([a-z])(\\w)", "\\2", word )
[1] "9874874w"
gsub( "([a-z]+)([0-9]+)([a-z])(\\w)", "\\3", word )
[1] "w874w"
gsub( "([a-z]+)([0-9]+)([a-z])(\\w)", "\\4", word )
[1] "9874w"
在我看来:
- 第一部分 ([az]+) 匹配
xyz; - 第二部分 ([0-9]+) 匹配
9874; - 第三部分 ([az]) 匹配
w; - 第四部分 (\w) 匹配
9874w;
为什么结果不是:
gsub( "([a-z]+)([0-9]+)([a-z])(\\w)", "\\1", word )
[1] "xyz"
gsub( "([a-z]+)([0-9]+)([a-z])(\\w)", "\\2", word )
[1] "9874"
gsub( "([a-z]+)([0-9]+)([a-z])(\\w)", "\\3", word )
[1] "w"
正确添加*([az]+)([0-9]+)([az])(\w) ,使其变为 ([az]+)([0-9]+)([ az])(\w*),
如果* 我的常规模式中没有,如何理解结果?