我正在尝试操作 SRT 字幕文件。文件开头的示例字符串@data
:
1
00:01:09,611 --> 00:01:12,404
In co-production with
2
00:01:14,783 --> 00:01:17,034
presents
id
我将所有的's 与正则表达式匹配:
@data.scan(/^\d+\w*$/)
但是,这忽略了第一个1
,也是唯一的 output 2..900
。我以为我错过了正则表达式中的一些字符,并分析了@data
:
puts @data[0,10].inspect => "1\n00:01:09,611 --> "
我不明白为什么这首先1
不匹配。也运行它@data.match()
不会产生1
但2
.
\n
然后我在 之前添加了一个1
,它起作用了。但是,我不明白为什么^
需要 a\n
而不是字符串的真正开头。