vim matchstr() 匹配不到 :4: 中的数字

let a=['4','444444']
echo matchstr(get(a,0),"[0-9]\+")
echo matchstr(get(a,1),"\d\+")
都显示空字符串

4
:s/\d\+/xxx/cg
可以匹配到4
但是在matchstr()中的{pat} 不成功啊!

阅读 4.9k
2 个回答

楼上的哥们,第一条建议是对的。echo matchstr(get(a,0),"[0-9]\+")确实是空,是没问题的

没写过,但感觉是"\"的问题,建议试试:
1、两个\\ 例如:"[0-9]\\+"
2、去掉 \ 例如:"[0-9]+"

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进