2012-07-12 37 views
0

我使用正则表达式在记事本++试图匹配像下面一般彭定康不工作正则表达式与多预期

^\s*?<FooBar>\s+?.+?\(.*?\) 

与“匹配换行符“已启用,但未按预期工作;书签行显示在上面的空白行,并没有书签我需要的所有行。

我想使用这个正则表达式在多个文件中搜索匹配使用“查找文件”。

所以我发现了一些东西。因为它使用多行,所以\ s *在达到foobar之前会匹配。因此,通过替换

^\s+ 

没有任何东西可以解决这个问题。

^\s*<foobar>\s+.+?\(.*?\) 

比赛正是我需要的,但有一个问题,就是这样的记事本++没有书签的所有标线,只有一个发现的开始;如果它是一个多行的查找,它只会将匹配的第一行加入书签(尽管其余部分将被标记)。因此,这意味着如果您使用“在文件中查找”进行搜索,它将只返回没有用处的书签行。

但是,您可以进入搜索结果中移除所有未标记的行 - >删除Unbookmarked行,但我需要做一个批次的搜索,这似乎是不可能的。

然而,其他编辑器返回所有标线等的EditPad亲。

回答

0

如果你是专门寻找记事本+ +多行正则表达式,看this post

1

不知道如果我理解你的期望吧,BUF怎么是这样的:

^\s*<FooBar>\s*\((\n|.)*\) 
+0

对不起,我需要他们都匹配,单线和多线。 – user1520729 2012-07-12 12:57:01

+0

上面的正则表达式匹配单行和多行 – 2012-07-12 12:58:25