首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Java中的Regex无法匹配Srt字幕

使用Java中的Regex无法匹配Srt字幕
EN

Stack Overflow用户
提问于 2013-08-31 05:04:17
回答 1查看 1.1K关注 0票数 1

在此代码中尝试解析srt副标题:

代码语言:javascript
复制
public class MatchArray {

public static void main(String args[]) {

    File file = new File(
            "C:/Users/Thiago/workspace/SubRegex/src/Dirty Harry VOST - Clint Eastwood.srt");
    {

        try {
            Scanner in = new Scanner(file);

            try {
                String contents = in.nextLine();

                while (in.hasNextLine()) {
                    contents = contents + "\n" + in.nextLine();
                }



                String pattern = "([\\d]+)\r([\\d]{2}:[\\d]{2}:[\\d]{2}),([\\d]{3})[\\s]*-->[\\s]*([\\d]{2}:[\\d]{2}:[\\d]{2}),([\\d]{3})\r(([^|\r]+(\r|$))+)";


                Pattern r = Pattern.compile(pattern);

                // Now create matcher object.
                Matcher m = r.matcher(contents);

                ArrayList<String> start = new ArrayList<String>();
                while (m.find()) {
                    start.add(m.group(1));
                    start.add(m.group(2));
                    start.add(m.group(3));
                    start.add(m.group(4));
                    start.add(m.group(5));
                    start.add(m.group(6));
                    start.add(m.group(7));


                    System.out.println(start);

                }
            }

            finally {
                in.close();

            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

但是,当我执行它时,它会捕获任何组,当尝试只捕获这个模式的时间时:

代码语言:javascript
复制
([\\d]{2}:[\\d]{2}:[\\d]{2}),([\\d]{3})[\\s]*-->[\\s]*([\\d]{2}:[\\d]{2}:[\\d]{2}),([\\d]{3})

它起作用了。那么,我如何使它捕获整个字幕呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-01 22:02:27

我不太明白你的需要,但我想这能帮上忙。请试一下regex:

代码语言:javascript
复制
(\\d+?)\\s*(\\d+?:\\d+?:\\d+?,\\d+?)\\s+-->\\s+(\\d+?:\\d+?:\\d+?,\\d+?)\\s+(.+)

我在http://www.myregextester.com/index.php上试了一下,结果成功了。

我希望这能帮上忙。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18544704

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档