0

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

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

与此相符:

@@:variable

some nice MarkDown content blah blah

@@

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

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

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

在此先感谢您的帮助。

4

1 回答 1

0

我现在得到了它:

两个错误:

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

^@@:([a-zA-Z0-9_-]*)\s*^(.*?)(^@@|\Z)
于 2012-06-07T15:25:18.707 回答