Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Regex抛出sre_常量错误_Python_Regex - Fatal编程技术网

Python Regex抛出sre_常量错误

Python Regex抛出sre_常量错误,python,regex,Python,Regex,我正在分析以下数据结构: var teamFixtures = new WS.Panel(fixturesConfig); teamFixtures.load([300, [[883762,1,'23-08-2014','17:00',300,'Atalanta',0,777,'Pisa',1,'2 : 0','1 : 0',1,0,'FT','2014/2015','Coppa Italia','1',60,108,5433,11361,'ICI','it','it',0,0,0] ,[883

我正在分析以下数据结构:

var teamFixtures = new WS.Panel(fixturesConfig);
teamFixtures.load([300, [[883762,1,'23-08-2014','17:00',300,'Atalanta',0,777,'Pisa',1,'2 : 0','1 : 0',1,0,'FT','2014/2015','Coppa Italia','1',60,108,5433,11361,'ICI','it','it',0,0,0]
,[883062,1,'16-08-2014','17:00',300,'Atalanta',0,267,'Chievo',0,'3 : 0','1 : 0',1,0,'FT','2014','Club Friendlies','1',57,247,4117,8489,'ICF','it','it',1,0,0]
,[875534,1,'09-08-2014','17:00',300,'Atalanta',0,1501,'Spezia',0,'2 : 0','1 : 0',1,0,'FT','2014','Club Friendlies','1',57,247,4117,8489,'ICF','it','it',1,0,0]
,[875542,1,'06-08-2014','17:00',300,'Atalanta',0,8183,'Feralpisalò',0,'1 : 0','0 : 0',1,0,'FT','2014','Club Friendlies','1',57,247,4117,8489,'ICF','it','it',1,0,0]
,[875541,1,'06-08-2014','15:00',300,'Atalanta',0,7587,'Renate',0,'1 : 0','0 : 0',1,0,'FT','2014','Club Friendlies','1',57,247,4117,8489,'ICF','it','it',1,0,0]
,[848157,1,'02-08-2014','19:30',300,'Atalanta',0,302,'Nantes',0,'*0 : 0','0 : 0',0,0,'PEN','2014','Club Friendlies','1',57,247,4117,8489,'ICF','it','fr',1,0,0]
], [[865781,4,'31-08-2014','17:00',300,'Atalanta',0,76,'Verona',0,'vs',,0,1,,'2014/2015','Serie A','-1',5,108,5441,11369,'ISA','it','it',0,1,0]
,[865791,4,'14-09-2014','14:00',78,'Cagliari',0,300,'Atalanta',0,'vs',,0,0,,'2014/2015','Serie A','-1',5,108,5441,11369,'ISA','it','it',0,1,0]
]]);
我使用以下正则表达式来定位开始字符串模式,然后返回列表列表中的所有内容:

regex = re.compile('var teamFixtures \= new WS\.Panel\(fixturesConfig\); teamFixtures\.load\([\d+, \[\[.*?\]\]?\)?;', re.S)
这是一个错误:

raise error, v # invalid expression
    sre_constants.error: unexpected end of regular expression
对我来说,虽然看起来我已经逃过了这个表达式中所有的特殊字符,所以我不明白为什么我会收到这个消息

有人能看出我哪里出了问题吗


谢谢

您没有正确地转义正则表达式-一个左括号未转义。记住,正则表达式需要一组转义,python字符串需要另一组转义;如果不想使用Python字符串转义,请使用原始字符串(r“”)

更有效的正则表达式可以是:

regex = re.compile(r'teamFixtures\.load\(\[\d+,\s*(\[\[.*?]\s*])]\);', re.S)

需要转义的特殊字符有
()[
;无论是
=
还是
对于正则表达式都不重要,实际上
]
也不需要转义。如果这个正则表达式匹配,则双列表可以作为
match.group(1)
使用
json.loads
,并且(将)可以很容易地加载到python中,只要它是正确的json。

您忘记了转义
[
附近的
\.loads\([\d+
,但即使您转义它,您的正则表达式也不正确。@mpcabd啊,是的,所以我有,谢谢。为什么,它还有什么问题?不需要转义结束方括号。但是,原始字符串的+1是此模式的主要错误。