用逗号将逗号替换为Python中的点的正则表达式

时间:2014-08-20 12:09:50

标签: python regex

我有一堆srt格式的文件,我想将它们转换为webvtt格式。将此00:00:01,478 --> 00:00:04,020更改为此00:00:01.478 --> 00:00:04.020效果非常好(添加,而不是.)。

我将如何在Python中执行此操作?我做了一个正则表达式,并且#34;工作"在Javascript中检测出现次数:[0-9]{2}:[0-9]{2}:[0-9]{2},[0-9]{3}。我知道re.sub,但文档令人困惑。

感谢。

2 个答案:

答案 0 :(得分:2)

只需在同一个正则表达式中使用捕获组,

>>> import re
>>> s = "00:00:01,478 --> 00:00:04,020"
>>> m = re.sub(r'([0-9]{2}:[0-9]{2}:[0-9]{2}),([0-9]{3})', r'\1.\2', s)
                 ^                          ^ ^        ^
>>> m
'00:00:01.478 --> 00:00:04.020'

答案 1 :(得分:1)

import re
new_string = re.sub( r'([0-9:]{8}),(\d{3})', r'\1.\2', your_string )