如何在Python中正确使用正则表达式的子函数?
所以我有一个像如何在Python中正确使用正则表达式的子函数?,python,regex,string,Python,Regex,String,所以我有一个像7.50x,我想把它转换成7.5x。我考虑过使用正则表达式。我可以很容易地匹配这个表达式,例如使用re.search('[0-9].[0-9]0x',string)。但是,我不知道如何使用re.sub方法替换每个这样的数字。例如,第二个参数应该是什么 re.sub('[0-9].[0-9]0x', ?, string) 测试 >>> import re >>> num="7.50x" >>> re.sub(r'([0-9]\.
7.50x
,我想把它转换成7.5x
。我考虑过使用正则表达式。我可以很容易地匹配这个表达式,例如使用re.search('[0-9].[0-9]0x',string)
。但是,我不知道如何使用re.sub
方法替换每个这样的数字。例如,第二个参数应该是什么
re.sub('[0-9].[0-9]0x', ?, string)
测试
>>> import re
>>> num="7.50x"
>>> re.sub(r'([0-9]\.[0-9])0x', r'\1x', num)
'7.5x'
此处r'\1x'
是从第一个捕获组\1
例如,对于输入([0-9]\.[0-9])保存的值。
,捕获组匹配保存在7.50x
中的\1
7.5
>>> import re
>>> num="7.50x"
>>> re.sub(r'([0-9]\.[0-9])0x', r'\1x', num)
'7.5x'
此处r'\1x'
是从第一个捕获组\1
例如,对于输入([0-9]\.[0-9])保存的值。
,捕获组匹配保存在7.50x
中的\1
7.5
>>> import re
>>> num="7.50x"
>>> re.sub(r'([0-9]\.[0-9])0x', r'\1x', num)
'7.5x'
此处r'\1x'
是从第一个捕获组\1
例如,对于输入([0-9]\.[0-9])保存的值。
,捕获组匹配保存在7.50x
中的\1
7.5
>>> import re
>>> num="7.50x"
>>> re.sub(r'([0-9]\.[0-9])0x', r'\1x', num)
'7.5x'
此处r'\1x'
是从第一个捕获组\1
例如,对于输入([0-9]\.[0-9])保存的值。
,捕获组匹配保存在7.50x
中的\1
7.5
使用正向的前向和后向断言
>>> import re
>>> num="7.50x"
>>> re.sub(r'(?<=\d\.\d)0(?=x)', r'', num)
'7.5x'
>>重新导入
>>>num=“7.50x”
>>>re.sub(r’(?使用正向的前向和后向断言
>>> import re
>>> num="7.50x"
>>> re.sub(r'(?<=\d\.\d)0(?=x)', r'', num)
'7.5x'
>>重新导入
>>>num=“7.50x”
>>>re.sub(r’(?使用正向的前向和后向断言
>>> import re
>>> num="7.50x"
>>> re.sub(r'(?<=\d\.\d)0(?=x)', r'', num)
'7.5x'
>>重新导入
>>>num=“7.50x”
>>>re.sub(r’(?使用正向的前向和后向断言
>>> import re
>>> num="7.50x"
>>> re.sub(r'(?<=\d\.\d)0(?=x)', r'', num)
'7.5x'
>>重新导入
>>>num=“7.50x”
>>>re.sub(r'(?你能解释r'\1x'真正的意思吗?@metallicprade我已经编辑了答案。希望你能明白这是非常棒的。Thanx是答案。我想把偏执放在[0-9]。[0-9]必须在这里,以便可以将其视为第一个元素\1。由此,我还推断捕获组的索引从1开始,而不是从0开始。对吗?@MetallicPrist你太棒了!!!捕获组是那些被困在妄想症中的组。当然,它们从1开始。它们也从左到右编号。希望你也得到了:)你一定要避开这个点。你能解释一下r'\1x'到底是什么意思吗?@MetallicPrist我已经编辑了答案。希望你明白这太棒了。答案是Thanx。我想把偏执放在[0-9]。[0-9]必须在这里,以便可以将其视为第一个元素\1。由此,我还推断捕获组的索引从1开始,而不是从0开始。对吗?@MetallicPrist你太棒了!!!捕获组是那些被困在妄想症中的组。当然,它们从1开始。它们也从左到右编号。希望你也得到了:)你一定要避开这个点。你能解释一下r'\1x'到底是什么意思吗?@MetallicPrist我已经编辑了答案。希望你明白这太棒了。答案是Thanx。我想把偏执放在[0-9]。[0-9]必须在这里,以便可以将其视为第一个元素\1。由此,我还推断捕获组的索引从1开始,而不是从0开始。对吗?@MetallicPrist你太棒了!!!捕获组是那些被困在妄想症中的组。当然,它们从1开始。它们也从左到右编号。希望你也得到了:)你一定要避开这个点。你能解释一下r'\1x'到底是什么意思吗?@MetallicPrist我已经编辑了答案。希望你明白这太棒了。答案是Thanx。我想把偏执放在[0-9]。[0-9]必须在这里,以便可以将其视为第一个元素\1。由此,我还推断捕获组的索引从1开始,而不是从0开始。对吗?@MetallicPrist你太棒了!!!捕获组是那些被困在妄想症中的组。当然,它们从1开始。它们也从左到右编号。希望你也得到了:)你必须避开这个点。我的问题不是如何搜索它,而是如何替换它。我的问题不是如何搜索它,而是如何替换它。我的问题不是如何搜索它,而是如何替换它。我的问题不是如何搜索它,而是如何替换它。