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} 不成功啊!

vimscript 正则表达式 vim

wxhfree 9 years, 7 months ago

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

☆Levey★ answered 9 years, 7 months ago

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

Susan answered 9 years, 7 months ago

Your Answer