我使用以下regex从包含在以下字符模式中的网站Javascript数据源获取所有数据
[[]]);
我使用的代码是:
regex = r'\[\[.*?\]]);'
match2 = re.findall(regex, response.body, re.S)
print match2
这将引发以下错误消息:
raise error, v # invalid expression
sre_constants.error: unbalanced parenthesis
我认为我可以相当安全地假设这是由regex中的右括号引起的。如何定义所需的regex而不出现此错误?
谢谢
转义最后一个
)
和]
r'\[\[.*?\]\]\)
你的正则表达式应该是
它将匹配文本
[[
符号和以下字符,直到下一个]]);
符号。说明:
\[\[
匹配文本符号[[
。.*?
匹配任何字符零次或多次。?
在*
之后,强制regex引擎执行最短(非贪婪)匹配。\]\]\);
匹配文本符号]]);
。您还需要转义最后几个括号字符。
如果要获取方括号之间的内容,请在此处使用捕获组。
相关问题 更多 >
编程相关推荐