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

新手上路,请多包涵

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

阅读 2k
1 个回答

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题