Regex lambda函数如何将匹配项作为re.subn()表达式中的参数获取?
我有一个re.sub,它搜索并递增一个数字。我在网上搜索这个解决方案。这个解决方案是可行的,但我不明白lambda函数是如何获得其参数的。据我所知,re.subn()返回结果字符串的元组和更改数。它不允许您访问匹配的字符串,但lambda正在以某种方式访问它Regex lambda函数如何将匹配项作为re.subn()表达式中的参数获取?,regex,python-3.x,lambda,Regex,Python 3.x,Lambda,我有一个re.sub,它搜索并递增一个数字。我在网上搜索这个解决方案。这个解决方案是可行的,但我不明白lambda函数是如何获得其参数的。据我所知,re.subn()返回结果字符串的元组和更改数。它不允许您访问匹配的字符串,但lambda正在以某种方式访问它 resultstring, nmatches = re.subn(regex, lambda m: '{}{}'.format(m.group(1), int(m.group(2)) + 1), originalstring) m是由re
resultstring, nmatches = re.subn(regex, lambda m: '{}{}'.format(m.group(1), int(m.group(2)) + 1), originalstring)
m
是由regex
和m.group(n)捕获的组匹配的字符串
请告诉我这里发生了什么。“它不允许您访问匹配的字符串,但lambda正在以某种方式访问它。”因为编写
re.subn
的人编写了它,以便它将匹配的字符串传递给您传入的可调用对象。谢谢。这项技术叫什么来让我了解更多?也许你要找的是“回调”和“高阶函数”