避免将正则表达式与行首匹配

时间:2019-02-24 05:07:10

标签: python regex

我想出了以下正则表达式:

(.*\\\\documentclass.*)|(.*\\\\documentstyle.*)

此正则表达式将用于确定文档是否包含\ documentclass或\ documentstyle标记。

我想避免匹配以%开头的字符串,例如:

% To use with LaTeX, use \documentstyle[psfig,...]{...}

为了避免与此字符串匹配,我该如何在其后面添加否定后缀?

1 个答案:

答案 0 :(得分:3)

使用^(在多行模式下)定位到行首,对%进行负向超前搜索,然后交替:

(?m)^(?!%)(?:.*\\document(?:class|style).*)

https://regex101.com/r/WjCkfb/1