在Python的
我想打印
顺便说一下,这不是一个特例。请不要假设数字总是出现在末尾,单词总是出现在开头等。我想知道所有正则表达式的解决方案。
谢谢。
re
模块中有以下函数:
我已发现它可以像这样工作:re.sub(pattern, repl, string, count=0, flags=0) - 返回通过用替换字符串repl替换string中最左边的非重叠出现的pattern而获得的字符串。如果未找到该pattern,则返回未更改的string。
print re.sub('[a-z]*\d+','lion','zebra432') # prints 'lion'
我想知道,在替换字符串中是否有一种简单的方法可以使用正则表达式,使得替换字符串包含原始正则表达式/原始字符串的一部分?具体来说,我能否做到像这样(它不起作用)?
print re.sub('[a-z]*\d+', 'lion\d+', 'zebra432')
我想打印
'lion432'
,但实际上打印的是'lion\d+'
。是否有一种简单的方法在替换字符串中使用匹配正则表达式的某些部分呢?顺便说一下,这不是一个特例。请不要假设数字总是出现在末尾,单词总是出现在开头等。我想知道所有正则表达式的解决方案。
谢谢。