gpt4 book ai didi

regex - 在 VSCode 正则表达式搜索中匹配文件的开头

转载 作者:行者123 更新时间:2023-12-03 15:27:47 28 4
gpt4 key购买 nike

我正在尝试在 VSCode 正则表达式搜索中匹配文件的开头以查找并删除以下模式:

//
Anything else to leave in place
etc.

我想删除所有包含 //\n 的文件中的第一行作为第一个字符。但是,当我对 //\n 执行正则表达式搜索时它显然匹配所有文件中的所有出现,无论它们在文件中的位置如何。

正则表达式语言提到了 \A 的存在在某些编辑器中匹配一行或文件的开头,但 VSCode 拒绝此正则表达式无效: \A//\n .

所以我的问题是,如何在 VSCode 中匹配文件的开头来实现我所需要的?

最佳答案

Visual Studio Code 正则表达式中文件的开头可以匹配

^(?<![.\n])
^(?<![\w\W])
^(?<![\s\S\r])
您可以使用
找什么 : ^//\n([\s\S\r]*) 替换为 : $1或者,由于现在 VSCode 支持lookbehinds 作为现代 JS ECMAScript 2018+ 兼容环境,您也可以使用
找什么 : ^(?<![\s\S\r])//\n 替换为 : 空的
如果你想知道为什么 [\s\S\r]被使用而不是 [\s\S] ,请引用 Multi-line regular expressions in Visual Studio Code .
详情
  • ^ - 行首
  • // - 一个 //子串
  • \n - 换行
  • ([\s\S\r]*) - 组 1 ( $1 ):任何 0 个或更多字符,直到文件末尾。
  • ^(?<![\s\S\r])//\n正则表达式的意思是:
  • ^(?<![\s\S\r]) - 仅将第一行的开头匹配为 ^匹配行首和 (?<![\s\S\r])如果当前位置的左侧有任何 1 个字符,则负向后视匹配失败
  • //\n - //和换行符。
  • 关于regex - 在 VSCode 正则表达式搜索中匹配文件的开头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60090875/

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