【发布时间】:2016-12-04 10:52:31
【问题描述】:
我正在开发一个正则表达式,它可以从字幕文件中获取文本,可能是任何语言,有时包含 Unicode 字符
String str=
"1
00:00:25,690 --> 00:00:44,410
As you can see he is no longer 1 year old, he is 12 years old now.
2
00:00:44,410 --> 00:00:58,120
He helps with the baby girl
";
使用 ragex 获取每个插槽:
((^1\n|(\\n\\d+\n))(\\d{2}:\\d{2}:\\d{2},\\d{3}.*\\d{2}:\\d{2}:\\d{2},\\d{3}))[\\p{P}\\p{L}\\p{P}*-,;'\"\\s]+
但最近发现字幕文本槽可以包含数字,因此如何涵盖具有任何字符、任何语言、任何 Unicode 字符以及介于两者之间的任何数字的所有可能性。
尝试添加\p{N}
但是失败了。它现在还包括时间和字幕顺序:
有时喜欢:blah blah blah.400:00:44,410
这是一种更新正则表达式以匹配在文本槽中找到的数字但不是字幕计时数字的一部分的方法。
【问题讨论】:
-
是的,应该够了。你测试了吗?
-
是的,但我不太可能用结果更新问题
-
@ThomasAyoub 添加
\\p{N}后,我已经用状态更新了问题