在Visual Studio中查找和替换中的正则表达式 - 搜索项之间的多个空格

3

我需要一个正则表达式用于Visual Studio的搜索和替换功能,如下所示:

搜索以下术语:sectorkey in (

上述3个搜索术语之间可能会有多个空格,甚至多个换行符/回车符。

该搜索项正在查找SQL语句中具有硬编码SectorKey值的SQL in语句。这些需要替换为SQL连接语句 - 这将手动完成。

3个回答

5

在“查找内容”框右侧的小箭头是你的朋友,可以帮助你处理MS正则表达式语法的各种变化。

换行符用\n表示,所以你可以直接使用sectorkey( |\n)+in( |\n)+\((需要在搜索表达式中转义开括号,因为它用于分组)。


3
我认为:Wh+是你想要的。Visual Studio的正则表达式风格非常奇怪;如果你参考官方参考文档,你会得到更好的结果。在处理VS时,对“主流”正则表达式的专业知识往往更像是一种障碍而不是帮助。

哈哈,关于这个障碍的说法太真实了。 - dash-tom-bang

2
您可以使用\s+搜索一个或多个相邻的空白字符(包括制表符、回车符、换行符等),因此您的正则表达式可能看起来像sectorkey\s+in\s+\(编辑... 正如Joe在评论中指出的那样,似乎Visual Studio不支持在查找/替换表达式中使用\s,在这种情况下,您可能需要使用类似于[\n:b]的内容。然后正则表达式会变成sectorkey[\n:b]+in[\n:b]+\(\

2
我不认为Visual Studio支持\s。请参见:http://msdn.microsoft.com/en-us/library/2k3te2cs(VS.80).aspx - Joe Stefanelli

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接