正则表达式匹配字符串或字符串结尾

时间:2012-06-07 15:18:29

标签: python regex lexer

我目前有这个正则表达式(使用多行和dotall标志):

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

匹配这个:

@@:variable

some nice MarkDown content blah blah

@@

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

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

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

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我现在有了:

两个错误:

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

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