我有这个正则表达式 -
(?P<名称> +。)(P< ReleaseYear>([0-9] +)?)|(P<名称> +?)(P< Prginfo> - [0-9]) |(?P<名称> +)?(?P< Prginfo> \ S + \ d + \ S +сезон\ S *)|(?P<名称> +)(P< Prginfo> \ S +сезон\ S ?* \ d +)|(p<标题> +)
。这在.NET代码中运行得非常好。但是当我尝试在python中使用它时,我收到错误 - “sre_constants.error:重新定义组名'Title'作为组3;是第1组”
答案 0 :(得分:1)
你不能在python正则表达式中使用重复的组名,因为它可能会引起混淆,实际上python将它们用作字典键。
(?P<name>...)
与常规括号类似,但可通过符号组名称访问组匹配的子字符串。组名必须是有效的Python标识符,并且每个组名必须在正则表达式中仅定义一次。符号组也是一个编号组,就像该组未被命名一样。