Visual studio code Visual Studio代码中的多行正则表达式搜索

Visual studio code Visual Studio代码中的多行正则表达式搜索,visual-studio-code,vscode-settings,Visual Studio Code,Vscode Settings,多行正则表达式搜索在VS代码版本1.27.2中不起作用 理论上,aaa(\n |)*bbb应该找到从aaa开始到bbb结束的字符串,但它不起作用。 这里提到的解决方案也不起作用。这种行为的原因很简单 多行搜索尚未实现 请参阅:多行搜索添加到2018年11月发布的v1.29中。看 VS代码现在支持多行搜索!与编辑器中相同,正则表达式 仅当搜索包含文字时,才会在多行模式下执行。 “搜索”视图在每个多行匹配旁边显示一个提示,其中 附加匹配线的数量 由于ripgrep工具中所做的工作,此功能成为可能 实

多行正则表达式搜索在VS代码版本1.27.2中不起作用

理论上,
aaa(\n |)*bbb
应该找到从aaa开始到bbb结束的字符串,但它不起作用。
这里提到的解决方案也不起作用。

这种行为的原因很简单

多行搜索尚未实现


请参阅:

多行搜索添加到2018年11月发布的v1.29中。看

VS代码现在支持多行搜索!与编辑器中相同,正则表达式 仅当搜索包含文字时,才会在多行模式下执行。 “搜索”视图在每个多行匹配旁边显示一个提示,其中 附加匹配线的数量

由于ripgrep工具中所做的工作,此功能成为可能 实现多行搜索


使用v1.38的Find小部件将使用多行搜索。看

查找小部件中的多行搜索

“查找”小部件现在支持多行文本搜索和替换。通过 按Ctrl+Enter,可以在输入框中插入新行


奇怪的是在“查找”窗口小部件中按Ctrl+Enter键,但在搜索面板中按Shift+Enter键(请参见下面的Deepu回答)。当“查找”窗口小部件聚焦时,Shift+Enter还有其他功能。

不使用正则表达式。

在vs代码1.30及以上版本中,现在可以进行多行搜索,而无需使用正则表达式

在搜索框中键入Shift+Enter以插入换行符,搜索框将增长以显示完整的多行查询。还可以将多行选择从编辑器复制并粘贴到搜索框中


无正则表达式方式:您可以复制多行文本并将其粘贴到“在文件中查找”表单中:

“全部替换”的结果:


您可以使用以下简单的正则表达式在多行中查找和替换: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变量

然后要查找的正则表达式将是:int x)\r\nenterBlankSpaceShereToReachString{\r\nenterBlankSpaceShereToReachStringvar user

要替换的正则表达式将是:int user)\r\nenterblankspacesheretoreachtstring{\r\nenterblankspacesheretoreachtstringvar customer

请参见以供参考

是的,您可以使用正则表达式在VScode中进行多行搜索

查找从
aaa
开始并以第一个
bbb
结尾的多行文本块(惰性限定符)

查找从
aaa
开始并以最后一个
bbb
结尾的多行文本块(贪婪限定符)


对于那些想要快速复制粘贴的人来说,这是用来匹配多行[\n\s]+相关问题和答案的。使用
(.*\n)+
来匹配一行或多行有或没有内容。例如,
(.*\n)+
用于整个文档。解决方案正在运行。
aaa[\s\r]*bbb
aaa[\W\W]*bbb
aaa[\r]*bbb
有效。您的屏幕截图是Visual Studio的?这个答案如何帮助您在Visual Studio代码中执行多行正则表达式搜索?
aaa(.|\n)+?bbb
aaa(.|\n)+bbb