我一直在研究以下正则表达式:
/(?<=\@Comment\{Annotation: key:START;\})( )/
旨在尝试在文本文件中查找类似于@Comment{Annotation: key:START;}
的注释。这些注释表示可以将文件分解为较小文件的可能行。
我在完成捕获组指令时遇到问题,或者我已经描述了错误,我的最后一个( )
,以便它扫描字符串中剩余的所有行(可能包含EOF)或下一个符合此模式的注释被检测到。
我希望不必将此转换为基于行的方法,并在每行执行检查...
我认为以下其中一项可能有效,但到目前为止还没有:
答案 0 :(得分:3)
这个正则表达式应该有效:
(.*?)((\@Comment\{Annotation: key:START;\})|$)
请参阅example online。
(.*?)
匹配文本直到分隔符表达式。然后是一个表达式,它匹配您的分隔符或文档的末尾($
)。
对于每个匹配,第一个组为分隔符提供文本,第二个组为匹配的分隔符文本。
此表达式需要单行模式s
和全局模式g
。