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

2024-05-17 14:00:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我的python正则表达式如下:

\\newcommand\\shortpage[.*?][.*?]{.*?{.*?}}

我要匹配的文本是:

\newcommand\shortpage[1][1]{\enlargethispage*{-#1\baselineskip}} % see Latex Companion, 2nd ed., p. 234

如何修复正则表达式,使其与文本正确匹配

谢谢你


Tags: 文本latexseeedcompanionnewcommandshortpageenlargethispage
1条回答
网友
1楼 · 发布于 2024-05-17 14:00:15

括号和大括号是元字符,您需要对它们进行转义:

\\newcommand\\shortpage\[.*?\]\[.*?\]\{.*?\{.*?\}\}

实际上,如果可以从上下文推断大括号没有用作量词(如x{2,4}),那么许多正则表达式引擎不需要您转义大括号,但最好是显式的

此外,如果可能的话,.*.*?应该替换为比“匹配任何内容”更具体的内容:

\\newcommand\\shortpage\[[^\]]*\]\[[^\]]*\]\{[^}]*\{[^}]*\}\}

相关问题 更多 >