gpt4 book ai didi

regex - matchstr 与 vimscript 中的正则表达式不匹配

转载 作者:行者123 更新时间:2023-12-02 17:47:14 25 4
gpt4 key购买 nike

以下 vimscript 代码位于函数内部,但没有匹配,我不明白为什么。

let curLine= '[exec] setup/src/LinkedList.cs(6,15): warning CS0659:'
echo curLine
let matchs= matchstr(curLine,'[(][0-9]+[,][0-9]+[)]')
if matchs == ''
echo 'no match'
return
endif
echo 'match found'

当我在 Vim 中运行该函数时,会回显“不匹配”。我究竟做错了什么?我尝试使用 http://regexpal.com/ 测试这个正则表达式它似乎按照我期望的方式工作(括号内的行和字符号被突出显示)

最佳答案

应该是这样的:

let matchs= matchstr(curLine,'[(][0-9]\+[,][0-9]\+[)]')

The matching is always done like 'magic' is set and 'cpoptions' isempty.

因为它像“magic”一样匹配,所以我们需要对正则表达式中的 + 进行转义以赋予其特殊含义。有关 magic 的更多详细信息,您可以阅读 :h magic

关于regex - matchstr 与 vimscript 中的正则表达式不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20710482/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com