有一个regx样本: “一二”将此regx用于\ b(\ w +)(\ s)(\ w +)\ b替换为$ 3 $ 2 $ 1然后获得“两个一” 现在我想用python re.sub:
实现它s="one two"
print re.sub(r"\b(\w+)(\s)(\w+)\b","$3$2$1",s)
这个输出$ 3 $ 2 $ 1,而不是“两个”。我怎么能在python中做到这一点?
答案 0 :(得分:2)
您在python中使用\number
来打印匹配的结果:
>>> s="one two"
>>> print re.sub(r"\b(\w+)(\s)(\w+)\b",r"\3\2\1",s)
two one
请注意,您必须将其设为原始字符串,否则您必须执行\\3 \\2 \\1
(即转义反斜杠)