繁体   English   中英

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

[英]Regex match string or end of string

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

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

符合以下条件:

@@:variable

some nice MarkDown content blah blah

@@

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

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

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

在此先感谢您的帮助。

我现在知道了:

两个错误:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM