Python在编译正则表达式

时间:2018-05-29 15:20:58

标签: python regex

我需要在Python中使用正则表达式验证地理坐标。我有一个复杂的正则表达式,测试十进制度坐标(例如10.4,-23.7; N10.4,W23.7;等) 我已经在在线正则表达式测试器(https://pythex.org/)中测试了表达式,它似乎正确地验证和测试了我的字符串。当我转到我的python代码时,当我尝试编译表达式时,我得到一个不平衡的括号错误。我在表达式中计算了开括号和近括号,并且它们匹配。此外,我没有搜索任何括号文字,因此表达式中没有转义。 我正在检查的进展是:

^((?P<firstPrefix>[EeWw\+-])?(?P<longitude>[0]?\d?\d([,.:]\d*)?|1[0-7]\d([,.:]\d*)?|180([,.:]0*)?)([°˚º^~*]*)(?P<firstSuffix>[EeWw\+-])?)([,:;\s|\/\\]+)((?P<lastPrefix>[NnSs\+-])?(?P<latitude>[0-8]?\d?\d([,.:]\d*)?|90([,.:]0*)?)([°˚º^~*]*)(?P<lastSuffix>[NnSs\+-])?)$

有人能告诉我,除了转义文字以外还有其他原因,python不能编译我的正则表达式吗?

0 个答案:

没有答案