Flo*_*elt 7 regex visual-studio-code
我正在尝试在 VSCode 正则表达式搜索中匹配文件的开头以查找并删除以下模式:
//
Anything else to leave in place
etc.
Run Code Online (Sandbox Code Playgroud)
我想删除所有包含//\n第一个字符的文件中的第一行。但是,当我执行正则表达式搜索时,//\n它显然会匹配所有文件中的所有出现,无论它们在文件中的位置如何。
正则表达式语言\A在某些编辑器中提到匹配行或文件的开头的存在,但 VSCode 拒绝此正则表达式为无效:\A//\n。
所以我的问题是,如何在 VSCode 中匹配文件的开头来实现我所需要的?
Wik*_*żew 15
Visual Studio Code 正则表达式中文件的开头可以匹配
^(?<![.\n])
^(?<![\w\W])
^(?<![\s\S\r])
Run Code Online (Sandbox Code Playgroud)
您可以使用
查找内容:^//\n([\s\S\r]*)
替换为:$1
或者,由于现在 VSCode 支持lookbehinds 作为现代 JS ECMAScript 2018+ 兼容环境,您也可以使用
查找内容:^(?<![\s\S\r])//\n
替换为:空
如果您想知道为什么[\s\S\r]使用而不使用[\s\S],请参阅Visual Studio Code 中的多行正则表达式。
细节
^ - 一行的开始//- 一个//子串\n - 换行([\s\S\r]*)- 组 1 ( $1):任何 0 个或更多字符,直到文件末尾。在^(?<![\s\S\r])//\n正则表达式的方法:
^(?<![\s\S\r])- 仅^匹配第一行的开头作为匹配行的开头,(?<![\s\S\r])如果当前位置左侧有任何 1 个字符,则负向后视匹配失败//\n-//和换行符。| 归档时间: |
|
| 查看次数: |
3757 次 |
| 最近记录: |