多行正则表达式搜索在VS Code 1.27.2版中不起作用。
理论上,aaa(\n|.)*bbb
应该找到以aaa开头并以bbb结尾的字符串,但是它不起作用。
Multi-line regular expressions in Visual Studio Code此处提到的解决方案也不起作用。
答案 0 :(得分:19)
是的,您可以在 VScode 中使用正则表达式进行多行搜索。
要查找从 aaa
开始并以第一个 bbb
(惰性限定符)结尾的多行文本块
aaa(.|\n)+?bbb
要查找从 aaa
开始到最后一个 bbb
结束的多行文本块。 (贪婪的限定符)
aaa(.|\n)+bbb
答案 1 :(得分:8)
多行搜索已添加到2018年11月发布的v1.29中。请参见multi-line search。
VS Code现在支持多行搜索!与编辑器中的正则表达式相同 仅当搜索包含\ n文字时,才以多行模式执行搜索。 搜索视图在每个多行匹配项旁边显示一个提示, 额外的匹配行数。
由于在ripgrep工具中完成的工作,因此可以使用此功能 实现多行搜索。
答案 2 :(得分:1)
您可以使用以下简单的正则表达式在多行中查找和替换: StringStart \ r \ nStringEnd
例如
public string MethodA(int x)
{
var user;
}
public string MethodB(string y)
{
var user;
}
public string MethodC(int x)
{
var user;
}
public string MethodD(float x)
{
var user;
}
如果要将用户变量的名称替换为customer,将方法参数名称替换为user,而仅将int替换为user。
然后要查找的正则表达式将是:int x)\ r \ n EnterBlankSpacesHereToReachTheString {\ r \ n EnterBlankSpacesHereToReachTheString var用户
和要替换的正则表达式将是:int用户)\ r \ n EnterBlankSpacesHereToReachTheString {\ r \ n EnterBlankSpacesHereToReachTheString var客户
答案 3 :(得分:0)
答案 4 :(得分:0)
现在,在1.30及更高版本的vs代码中,无需使用正则表达式即可进行多行搜索。
在搜索框中输入Type Shift + Enter 插入换行符,搜索框将显示完整的多行查询。您还可以从编辑器中复制多行选择并将其粘贴到搜索框中。
答案 5 :(得分:0)