我有一个包含许多功能的C ++源文件。
我想快速找到每个功能的开头。
如何为)newline{newline
形成表达式?
newline
符号可以是以下之一:
\n
\r
\n\r
\r\n
据推测,在整个文件中使用相同的符号,因此对于所有选项的组合而不是单个表达式,我需要为每个选项使用单个表达式。
我假设可以使用正则表达式,但我不确定如何。
由于
答案 0 :(得分:2)
Barak,在我们查看各个选项之前,对于所有选项,我们都会这样做:
\)[\r\n]+{[\r\n]+
[\r\n]
是一个允许\r
或\n
的字符类。它用+
量化,这意味着我们正在寻找一个或多个这些字符。
你说你想要个别选项,所以可以转向:
\)\r\n{\r\n
\)\r{\r
\)\n{\n
\)\n\r{\n\r
(这一系列新行非常令人惊讶)
答案 1 :(得分:1)
如果您只是想在VS中使用正则表达式搜索来查找每个函数的开头,那么这应该对您有用:
\)\r?\n\s*{\r?\n
虽然假设{总是在下一行,但在换行前没有空格。
在涉及空白区域时,这将不那么严格,但仍然期望{在下一行,然后是换行符:
\)\s*\r?\n\s*{\s*\r?\n
这基本上只是寻找2个括号,即使它们在同一条线上:
\)\s*\r?\n?\s*{
如果您预计两个括号之间可能会有多个换行符:
\)\s*(\r?\n\s*)*{
最后一个示例应该找到任何类似于方法开头的内容。但不确定您希望搜索的严格程度。