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*),
如果*
我的常规模式中没有,如何理解结果?