1

私はこの正規表現を次([0-9]{2}:){2}[0-9]{2},[0-9]{3} -> ([0-9]{2}:){2}[0-9]{2},[0-9]{3}のような srt 時間形式に一致するように作成しましたが、次のように使用00:16:31,600 -> 00:16:35,700すると正常に動作します。これを防ぐための代替手段またはコードはありますか?関数を試してみましたが、機能しませんでした (この関数の使い方が間違っているのかもしれません)。someString.matches(timeSpanPattern)hasNext(pattern)->useDelimiter

final String timeSpanPattern = "([0-9]{2}:){2}[0-9]{2},[0-9]{3} -> ([0-9]{2}:){2}[0-9]{2},[0-9]{3}";
.
.
.

Scanner i = new Scanner(System.in).useDelimiter("\n");

while (i.hasNext(timeSpanPattern)) {
    line = i.next(timeSpanPattern);
    forbiddenTimes.add(line);
}
.
.
.
4

2 に答える 2

0

関数の使い方useDelimiterが間違っています。あなた(i)はこのように使用する必要があります:

Scanner i = new Scanner(System.in);
i.useDelimiter("\n");
于 2013-05-17T11:21:50.597 に答える