2012-06-07 56 views
0

末我现在有这个表达式(用多和DOTALL标志):正则表达式匹配字符串或字符串

^@@:([a-zA-Z0-9_-]*)\s*^(.*?)^@@ 

符合这样的:

@@:variable 

some nice MarkDown content blah blah 

@@ 

我希望能够省略如果声明是文件(字符串)中的最后一个,则关闭@@标记,这是因为许多文件只会有一个声明,因此关闭它的想法似乎没有必要。我试过这个正则表达式:

^@@:([a-zA-Z0-9_-]*)\s*^(.*?)^(@@|\A) 

但它甚至不再与结束标签匹配。

在此先感谢您的帮助。

+2

你是不是指'(^ @@ | \ A)',甚至是'(^ @@ | \ Z)'? – hamstergene

回答

0

我现在已经知道了:

两个错误:

插入符号必须是在最后一组的第一个正则表达式的一部分,我需要\ž不是\ A作为\ A匹配字符串的开始而不是结束。

^@@:([a-zA-Z0-9_-]*)\s*^(.*?)(^@@|\Z)