sub_parser_regex.go 862 B

123456789101112131415161718192021
  1. package sub_parser
  2. import "regexp"
  3. const (
  4. // 匹配 ass 文件中的 Style 变量
  5. regString4Style = `(?m)^Style:\s*(\w+),`
  6. )
  7. // ReMatchBrace 匹配花括号中的内容
  8. var ReMatchBrace = regexp.MustCompile(`(?m)((?i){[^}]*})`)
  9. var ReCutDoubleLanguage = regexp.MustCompile(`(?i)(.*)\\N(.*)`)
  10. // 字幕文件对话的每一行
  11. // regStringASS = `Dialogue: [^,.]*[0-9]*,([1-9]?[0-9]*:[0-9]*:[0-9]*.[0-9]*),([1-9]?[0-9]*:[0-9]*:[0-9]*.[0-9]*),[^,.]*,[^,.]*,[0-9]*,[0-9]*,[0-9]*,[^,.]*,(.*)`
  12. const regStringASS = `Dialogue: [^,.]*[0-9]*,([1-9]?[0-9]*:[0-9]*:[0-9]*.[0-9]*),([1-9]?[0-9]*:[0-9]*:[0-9]*.[0-9]*),([^,.]*),[^,.]*,[0-9]*,[0-9]*,[0-9]*,[^,.]*,(.*)`
  13. const regStringSRT = `(\d+)\n([\d:,]+)\s+-{2}\>\s+([\d:,]+)\n([\s\S]*?(\n{2}|$))`
  14. var ReMatchDialogueSRT = regexp.MustCompile(regStringSRT)
  15. var ReMatchDialogueASS = regexp.MustCompile(regStringASS)