gpt4 book ai didi

python - 如何在 re.sub 中索引组元素?

转载 作者:太空宇宙 更新时间:2023-11-04 01:00:47 29 4
gpt4 key购买 nike

如何从 re.sub 匹配中索引匹配组中的字符。

所以我正在尝试这样做:

import re
string_test = "this.day"
string_test = re.sub("^(.*?)\.(.*?)", "\g<1>[0].\g<2>", string_test)

我的结果应该是:"t.day" .是否有可能以某种方式索引 \g<1> re.sub 中的组?显然\g<1>[0]不起作用。

最佳答案

除非使用 lambda 函数,否则无法像上面那样进行索引。只需像下面这样更改您的正则表达式即可。

string_test = re.sub("^(.)[^.]*\.(.*)", r"\g<1>.\g<2>", string_test)

>>> import re
>>> string_test = "this.day"
>>> re.sub(r"^(.)[^.]*\.(.*)", r"\1.\2", string_test)
't.day'

如果你真的想做索引,

>>> re.sub(r"^(.*?)\.(.*)", lambda m: m.group(1)[0] + '.' + m.group(2), string_test)
't.day'
>>> re.sub(r"^(.*?)(\..*)", lambda m: m.group(1)[0] + m.group(2), string_test)
't.day'

关于python - 如何在 re.sub 中索引组元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32964986/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com