$ 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文档中leftmost的意思不太明白。据我所知,似乎 re.sub(...)
正在用 repl< 替换 all 出现的
pattern
/
最佳答案
注意以“s”结尾的最左边的非重叠事件。
re.sub
替换所有出现的地方。您可以使用可选的 count 参数来限制它执行的替换数量。
“最左边的非重叠”意味着如果多个事件重叠并且可能被替换,则只有最左边的会:
>>> str = 'AABBBBAA'
>>> re.sub('BBB', 'CCC', str)
'AACCCBAA'
如您所见,BBB
在这里出现了两次(重叠)。只有最左边的被替换。
关于python - re.sub(...) 替换最左边的事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6639522/