我需要一个正则表达式用于Visual Studio的搜索和替换功能,如下所示:
搜索以下术语:sectorkey in (
上述3个搜索术语之间可能会有多个空格,甚至多个换行符/回车符。
该搜索项正在查找SQL语句中具有硬编码SectorKey值的SQL in语句。这些需要替换为SQL连接语句 - 这将手动完成。
我需要一个正则表达式用于Visual Studio的搜索和替换功能,如下所示:
搜索以下术语:sectorkey in (
上述3个搜索术语之间可能会有多个空格,甚至多个换行符/回车符。
该搜索项正在查找SQL语句中具有硬编码SectorKey值的SQL in语句。这些需要替换为SQL连接语句 - 这将手动完成。
在“查找内容”框右侧的小箭头是你的朋友,可以帮助你处理MS正则表达式语法的各种变化。
换行符用\n
表示,所以你可以直接使用sectorkey( |\n)+in( |\n)+\(
(需要在搜索表达式中转义开括号,因为它用于分组)。
:Wh+
是你想要的。Visual Studio的正则表达式风格非常奇怪;如果你参考官方参考文档,你会得到更好的结果。在处理VS时,对“主流”正则表达式的专业知识往往更像是一种障碍而不是帮助。\s+
搜索一个或多个相邻的空白字符(包括制表符、回车符、换行符等),因此您的正则表达式可能看起来像sectorkey\s+in\s+\(
。
编辑...
正如Joe在评论中指出的那样,似乎Visual Studio不支持在查找/替换表达式中使用\s
,在这种情况下,您可能需要使用类似于[\n:b]
的内容。然后正则表达式会变成sectorkey[\n:b]+in[\n:b]+\(\
。