python:regex在两个tex之间提取内容

2024-04-24 05:19:21 发布

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

我想要一个python regex表达式,它可以在script[""]之间提取内容,但是还有其他"]"让我担心

期望值: {bunch of javascript here. [\"apple\"] test}

我的尝试:

javascript\[\"(.*)"]

目标字符串:

//url//script["{bunch of javascript here. [\"apple\"] test}"]|//*[@attribute="eggs"]

link to the regex


Tags: of字符串testurl内容apple目标here
2条回答

因为你写问题的方式,很难准确地理解你想要达到什么目的。但是,如果要在}之后查找"]的第一个实例,请尝试以下操作:

\["([^}]+}.*?)"\]

Link to the regex

这也会起作用:

 \["(.*?}.*?)"\]

Link to the second regex example

您不能将嵌套的方括号与re模块匹配,因为它没有递归特性来实现这一点。但是,在您的示例中,如果选择忽略双引号之间的所有方括号,则可以跳过最里面的方括号。你知道吗

尝试以下操作:

p = re.compile(r'script\["([^\\"]*(?:\\.[^\\"]*)*)"]', re.S)

注意:这里我假设谓词只与脚本节点的“text”内容相关(而不是一个属性、一个项目数或一个axe)。你知道吗

相关问题 更多 >