gpt4 book ai didi

python - 使用带有反向引用的Python匹配字符串中的对象

转载 作者:行者123 更新时间:2023-11-30 22:30:05 24 4
gpt4 key购买 nike

Python 是否能够使用 Match 对象作为带有反向引用的字符串的输入,例如:

match = re.match("ab(.*)", "abcd")
print re.some_replace_function("match is: \1", match) // prints "match is: cd"

您可以使用常用的字符串替换函数来实现自己,但我确信明显的实现会错过边缘情况,从而导致微妙的错误。

最佳答案

您可以使用re.sub(而不是re.match)来搜索和替换字符串。

要使用反向引用,最佳实践是使用原始字符串,例如:r"\1",或双转义字符串,例如“\\1”:

import re

result = re.sub(r"ab(.*)", r"match is: \1", "abcd")
print(result)
# -> match is: cd

但是,如果您已经有 Match Object ,您可以使用 expand() 方法:

mo = re.match(r"ab(.*)", "abcd")
result = mo.expand(r"match is: \1")
print(result)
# -> match is: cd

关于python - 使用带有反向引用的Python匹配字符串中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46167524/

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