Python 如何使用自定义文本替换使用re.sub的特定正则表达式组?

Python 如何使用自定义文本替换使用re.sub的特定正则表达式组?,python,regex,python-3.x,Python,Regex,Python 3.x,我有以下案文: 形容词panda走向名词,然后是动词。附近的一个名词不受这些事件的影响。” 我试图用用户输入替换每个单词。我使用正则表达式来匹配单词,并将它们放到列表中 我正在使用re.sub将userinput替换为匹配的正则表达式组。但是有没有一种方法我只能替换第一组,或者第二组或第三组 名词出现两次,因此在我的for循环中,我希望用户输入仅替换regex.group[0]或[1]。编辑 您可能需要迭代所有单词,并对每个单词进行调用,无论您是否要更改它。 我不确定,你想如何对待标点符号,但我

我有以下案文:

形容词panda走向名词,然后是动词。附近的一个名词不受这些事件的影响。”

我试图用用户输入替换每个单词。我使用正则表达式来匹配单词,并将它们放到列表中

我正在使用
re.sub
userinput
替换为匹配的正则表达式组。但是有没有一种方法我只能替换第一组,或者第二组或第三组

名词出现两次,因此在我的
for
循环中,我希望用户输入仅替换
regex.group[0]
[1]

编辑 您可能需要迭代所有单词,并对每个单词进行调用,无论您是否要更改它。 我不确定,你想如何对待标点符号,但我想大致可以这样做:

(它迭代所有最大字符的文本,其中不包含空格)

重新导入
形容词panda走到名词前,然后是动词。附近的一个名词不受这些事件的影响。”
y=''
关于findall(r“[^]+”,x)中的wrd:
z=输入(f“找到单词{wrd},替换:”)
如果(z!=''):
y+=f“{z}”
其他:
y+=f“{wrd}”
打印(y)
参考: 编辑 您可能需要迭代所有单词,并对每个单词进行调用,无论您是否要更改它。 我不确定,你想如何对待标点符号,但我想大致可以这样做:

(它迭代所有最大字符的文本,其中不包含空格)

重新导入
形容词panda走到名词前,然后是动词。附近的一个名词不受这些事件的影响。”
y=''
关于findall(r“[^]+”,x)中的wrd:
z=输入(f“找到单词{wrd},替换:”)
如果(z!=''):
y+=f“{z}”
其他:
y+=f“{wrd}”
打印(y)
参考:

没错,使用这种方法,我知道计数会“上升到计数”替换。但是,如果我只想替换第三组匹配,而不影响其他2组,那么会发生什么呢?然后您必须逐个迭代它,并将旧的或替换的值放入缓冲区中。检查我的编辑好的,我看到你的代码了,我想我明白了。但是,使用索引并只针对某个特定的正则表达式组(不计算,包括以前的所有正则表达式组)是无法轻松替换的。我想是的,只是在谷歌上搜索了一下,有一点:不过,如果我正确理解你的前提,我仍然会将其分解为单词/文字/位,然后一个接一个地修改它们,根据用户的输入打电话告诉他们如何处理每一个。这很有帮助!非常感谢你,伙计。这听起来可能很愚蠢,但是你做了什么来获得搜索结果呢。我花了一个小时(在谷歌上)搜索各种术语,却找不到那个线索?我知道大多数编码都是在寻找我遇到的问题,并试图找到答案,所以我只想在这方面提供帮助。再次感谢!对,用这种方法,我知道计数会“上升到计数”替换。但是,如果我只想替换第三组匹配,而不影响其他2组,那么会发生什么呢?然后您必须逐个迭代它,并将旧的或替换的值放入缓冲区中。检查我的编辑好的,我看到你的代码了,我想我明白了。但是,使用索引并只针对某个特定的正则表达式组(不计算,包括以前的所有正则表达式组)是无法轻松替换的。我想是的,只是在谷歌上搜索了一下,有一点:不过,如果我正确理解你的前提,我仍然会将其分解为单词/文字/位,然后一个接一个地修改它们,根据用户的输入打电话告诉他们如何处理每一个。这很有帮助!非常感谢你,伙计。这听起来可能很愚蠢,但是你做了什么来获得搜索结果呢。我花了一个小时(在谷歌上)搜索各种术语,却找不到那个线索?我知道大多数编码都是在寻找我遇到的问题,并试图找到答案,所以我只想在这方面提供帮助。再次感谢!你能分享一下你到目前为止所做的尝试吗?尝试了各种方法,使用count的re.sub方法。(当我只需要替换一个特定的值时,它只替换包含和不超过一个值的字符串)。尝试了re.sub中的\1方法(不完全理解),但我认为它使用了字符串中作为替换模式的一部分找到的组。您能分享您迄今为止尝试过的方法吗?尝试了各种方法,re.sub方法带有count。(当我只需要替换一个特定的值时,它只替换包含和不超过一个值的字符串)。尝试了re.sub中的\1方法(不完全理解),但我认为它使用了作为字符串中替换模式的一部分找到的组。