Regex 在Visual Studio 2013中查找换行符 我有一个C++源文件,包含很多函数。
我想快速找到每个函数的开头 如何为Regex 在Visual Studio 2013中查找换行符 我有一个C++源文件,包含很多函数。,regex,visual-studio-2013,newline,Regex,Visual Studio 2013,Newline,我想快速找到每个函数的开头 如何为)换行符{newline形成表达式 换行符可以是以下任一符号: \n \r \n\r \r\n 假设在整个文件中使用了相同的符号,因此我需要为每个选项使用一个表达式,而不是为所有组合的选项使用一个表达式 我假设可以使用正则表达式,但我不确定如何使用 谢谢如果您只是想在VS中使用正则表达式搜索来查找每个函数的开头,那么这应该适用于您: \)\r?\n\s*{\r?\n 尽管这假定{始终在下一行,在换行之前没有空格 在涉及空白的情况下,这将不那么严格,但仍然希望{
)换行符{newline
形成表达式
换行符可以是以下任一符号:
\n
\r
\n\r
\r\n
假设在整个文件中使用了相同的符号,因此我需要为每个选项使用一个表达式,而不是为所有组合的选项使用一个表达式
我假设可以使用正则表达式,但我不确定如何使用
谢谢如果您只是想在VS中使用正则表达式搜索来查找每个函数的开头,那么这应该适用于您:
\)\r?\n\s*{\r?\n
尽管这假定{始终在下一行,在换行之前没有空格
在涉及空白的情况下,这将不那么严格,但仍然希望{在下一行,后面是换行符:
\)\s*\r?\n\s*{\s*\r?\n
这将基本上只查找两个括号,即使它们在同一行上:
\)\s*\r?\n?\s*{
如果您预计两个括号之间可能会有几条换行符:
\)\s*(\r?\n\s*)*{
最后一个示例应该找到任何类似于方法开头的内容。但不确定您希望搜索的严格程度。Barak,在我们查看单个选项之前,对于所有选项,这将完成以下操作:
\)[\r\n]+{[\r\n]+
[\r\n]
是一个字符类,它允许\r
或\n
中的任何一个字符。它用+
进行量化,这意味着我们正在寻找这些字符中的一个或多个
您说过您需要单独的选项,因此可以将其转换为:
\)\r\n{\r\n
\)\r{\r
\)\n{\n
\)\n\r{\n\r
(这一连串的换行非常令人惊讶)
你是在问VS2013中的文本编辑器吗?@NirMH:是的,尽管我认为它在任何其他文本编辑器中都是类似的,如记事本++等。因为我不是100%确定,我必须指定VS2013。你是否为此尝试了VSAssist addin(类似于C#resharper)@NirMH:你的意思是,为了快速找到每个函数的开头?是的/VSAssist有一个功能可以转到每个函数的开头。另外,你可以折叠所有函数体以轻松查看定义的所有函数-使用CTRL+M+OAwesome!我要求每个选项使用一个表达式的唯一原因是med构造这样的表达式会更容易。但是一般表达式工作得很好(并且使我不再需要查找使用了哪一个换行符
)。谢谢。顺便说一句,我在VS2013上的“查找”组合框看起来与您答案中的不同(我相信是VS2012中的)@barakmanos很高兴它能工作,谢谢你让我知道…哈,不,这是VS2013的屏幕截图…可能是不同的主题、版本或操作系统(你可能在Win8上,那是Win7x64)