gpt4 book ai didi

python - 在 Python 中的 re.sub 中获取组匹配

转载 作者:太空宇宙 更新时间:2023-11-03 12:45:50 25 4
gpt4 key购买 nike

在 Perl 中,我可以同时进行替换和捕获组匹配。例如

my $string = "abcdef123";
$string =~ s/(\d+)//;
my $groupMatched = $1; # $groupMatched is 123

在 Python 中,我可以使用 re.sub 函数进行替换,如下所示。但是,如果不调用另一个函数 re.match 并执行附加操作,我找不到捕获\d+ 组匹配的方法。

string = "abcdef123"
string = re.sub("(\d+)", "", string)

有谁知道如何从同一 re.sub 操作中捕获“\d+”匹配值作为单独的变量?我尝试了以下命令,但它不起作用。

print r'\1'

最佳答案

你可以作弊并将一个函数传递给re.sub:

results = []
def capture_and_kill(match):
results.append(match)
return ""
string = "abcdef123"
string = re.sub("(\d+)", capture_and_kill, string)
results[0].group(1)
# => '123'

关于python - 在 Python 中的 re.sub 中获取组匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36196060/

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