关于re.sub在不同版本python结果不一样的问题

新手上路,请多包涵

要把字符串末尾的符号改为分号,代码如下:
print(re.sub(r'[,.;,。; ]*$', ';', '末尾改为中文分号,'))
python3.8的结果是:末尾改为中文分号;;
python3.6的结果是:末尾改为中文分号;
这是怎么回事?3.8版怎么解决?

阅读 2k
1 个回答

要替换末尾的符号可以使用 + 替代 *

3.7版本的变更: 当与前一个非空匹配相邻时,pattern空匹配也会被替换。
更新说明参考 re operations
修复提交参考 bpo-32308

推荐问题