[英]Regular Expression (regex) Pattern Matching in Python
我在python中的正则表达式如下:
\\newcommand\\shortpage[.*?][.*?]{.*?{.*?}}
我要匹配的文本是:
\newcommand\shortpage[1][1]{\enlargethispage*{-#1\baselineskip}} % see Latex Companion, 2nd ed., p. 234
如何修正我的正则表达式,使其正确匹配我的文本?
谢谢。
方括号和花括号是元字符,您需要对其进行转义:
\\newcommand\\shortpage\[.*?\]\[.*?\]\{.*?\{.*?\}\}
实际上,如果可以从上下文中推断出它们不用作量词(例如x{2,4}
),那么许多正则表达式引擎并不需要您转义花括号,但是最好是明确的。
此外, .*
和.*?
如果可能的话,应该用比“匹配任何东西”更具体的东西代替:
\\newcommand\\shortpage\[[^\]]*\]\[[^\]]*\]\{[^}]*\{[^}]*\}\}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.