Commit a7b24299 by ibaker Committed by Oliver Woodman

Fix subtitle parsing regex suggestions

Suggested by Android Studio's Inspect Code

SO seems to think there's a performance difference for the | change:
https://stackoverflow.com/questions/22132450/why-is-a-character-class-faster-than-alternation

PiperOrigin-RevId: 277707341
parent 5ff7f3a1
......@@ -38,8 +38,8 @@ public final class SsaDecoder extends SimpleSubtitleDecoder {
private static final String TAG = "SsaDecoder";
private static final Pattern SSA_TIMECODE_PATTERN = Pattern.compile(
"(?:(\\d+):)?(\\d+):(\\d+)(?::|\\.)(\\d+)");
private static final Pattern SSA_TIMECODE_PATTERN =
Pattern.compile("(?:(\\d+):)?(\\d+):(\\d+)[:.](\\d+)");
private static final String FORMAT_LINE_PREFIX = "Format: ";
private static final String DIALOGUE_LINE_PREFIX = "Dialogue: ";
......@@ -196,10 +196,11 @@ public final class SsaDecoder extends SimpleSubtitleDecoder {
}
}
String text = lineValues[formatTextIndex]
.replaceAll("\\{.*?\\}", "")
.replaceAll("\\\\N", "\n")
.replaceAll("\\\\n", "\n");
String text =
lineValues[formatTextIndex]
.replaceAll("\\{.*?}", "")
.replaceAll("\\\\N", "\n")
.replaceAll("\\\\n", "\n");
cues.add(new Cue(text));
cueTimesUs.add(startTimeUs);
if (endTimeUs != C.TIME_UNSET) {
......
......@@ -26,7 +26,7 @@ import java.util.regex.Pattern;
*/
public final class WebvttParserUtil {
private static final Pattern COMMENT = Pattern.compile("^NOTE((\u0020|\u0009).*)?$");
private static final Pattern COMMENT = Pattern.compile("^NOTE([ \t].*)?$");
private static final String WEBVTT_HEADER = "WEBVTT";
private WebvttParserUtil() {}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment