$ pydoc re.sub
:
sub(pattern, repl, string, count=0, flags=0)
Return the string obtained by replacing the leftmost
non-overlapping occurrences of the pattern in string by the
replacement repl.
>>> re.sub('ROAD', 'RD.', 'BRRROADBBRROAD ROAD ROAD MY ROAD')
'BRRRD.BBRRD. RD. RD. MY RD.'
我不太了解python文档中最左边的含义。据我所知,似乎re.sub(...)
正在用pattern
repl
的所有次出现
答案 0 :(得分:10)
注意's'结束最左边非重叠的事件。
re.sub
替换所有出现的内容。您可以使用可选的 count 参数来限制它所执行的替换次数。
“最左边不重叠”意味着如果多次出现重叠且可能被替换,则只有最左边的出现:
>>> str = 'AABBBBAA'
>>> re.sub('BBB', 'CCC', str)
'AACCCBAA'
如您所见,BBB
出现两次(重叠)事件。只更换最左边的那个。
答案 1 :(得分:5)
您可以在此示例中看到最左侧的含义
>>> import re
>>> re.sub('haha', 'Z', 'hahaha')
'Zha'
请注意,我们没有看到“haZ”本来是最右边的替代品。