0

嗨,我有以下工作正常:

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 是不可能的(大约 python 2.5.1)

编辑:根据 Qtax (Az => A-Za-z) 的回答修复,但是我的真正问题还没有解决

4

1 回答 1

1

所有这些组捕获,其中一些只是没有命名。您应该能够引用任何捕获组,尽管我不知道 python/jython 正则表达式规范。尝试如下表达式:

re.sub("(?:(, )\s*|^)([A-Za-z]*)", r"\1`\2`", ...)

[A-z]如果您的意思是A-Zand ,则不能使用,它可以与某些不区分大小写的标志a-z一起编写或使用,例如.[A-Za-z](?i)[a-z]

于 2012-05-29T12:38:17.167 回答