繁体   English   中英

Python中的正则表达式(regex)模式匹配

[英]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.

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