Visual Studio挂起搜索正则表达式^。* $

时间:2016-06-27 18:59:19

标签: regex visual-studio visual-studio-2010

(澄清一下,我说的是Ctrl-Shift-F搜索。当前文档。)

我想搜索不包含某个字符的行,比如'(',所以我想我需要包含^和$指示符来获取整行。但这只是崩溃了GUI。是否有前进的方向?

没有(的行应由此处理:

^[^\(]*$

但是,这更为简单"^.*$"

也许有另一种方法可以找到这些线?

编辑:提议的“重复”问题是关于C#RegEx类,与Visual Studio 2010交互式正则表达式完全不同。

1 个答案:

答案 0 :(得分:0)

如果您想匹配行,请使用^[^\r\n(]*$,其中\r\n被排除在[^(]之外 - WiktorStribiżewJun27 at 19:36

这个评论确实是答案。显然旧的Visual Studio搜索可以跨越多行,^.*$因此意味着从行的开头开始,向前移动任意数量的字符 直到文档的末尾 < / strong>,然后停在一行的末尾。这些字符可以包含任意数量的换行符。

VS显然没有有效地实现此查询并无休止地挂起。

W.S.的提议明确排除了搜索参数中的换行符,因此只强制使用一行。

Visual Studio 2012更改为更常规的正则表达式搜索,将结果限制在单行内,因此^。* $将逐个获取文档的所有行。