嗨,我有以下的重要工作:
re.sub("(?P<colon>(, )\s*|^)(?P<field>[A-Za-z]*)", "\\g<colon>`\\g<field>`", fields
然而我想这样做(捕捉内部群体):
re.sub("((?P<colon>, )\s*|^)(?P<field>[A-Za-z]*)", "\\g<colon>`\\g<field>`", fields
但是,如果我尝试引用组中的组(例如,只包含g的组:r(e(g)e)x
),我会收到unmatched group
错误/异常。
那么如何引用嵌套的捕获组,或者使用jython(about python 2.5.1)是不可能的
编辑:根据Qtax(A-z =&gt; A-Za-z)的答案修复但是我的真正问题尚未解决
答案 0 :(得分:1)
所有这些群体都被捕获,其中一些群体没有被命名。您应该能够引用任何捕获组,但我不知道python / jython正则表达式规范。尝试表达式:
re.sub("(?:(, )\s*|^)([A-Za-z]*)", r"\1`\2`", ...)
如果您的意思是[A-z]
和A-Z
,则a-z
可以写成[A-Za-z]
或使用一些不区分大小写的标记,例如(?i)[a-z]
,则不能使用{{1}}。