1
0

regex_things.go 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. package regex_things
  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 ReMatchBracket = regexp.MustCompile(`(?m)((?i)\[[^]]*\])`)
  10. var ReCutDoubleLanguage = regexp.MustCompile(`(?i)(.*)\\N(.*)`)
  11. // RegMatchSpString 替换特殊字符
  12. //var RegMatchSpString = regexp.MustCompile(`(?i)[^\w\s]`)
  13. var RegMatchSpString = regexp.MustCompile(`(?m)[\p{P}|\p{Z}}}|\p{S}\s|\t|\v]`)
  14. // 字幕文件对话的每一行
  15. // 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]*,[^,.]*,(.*)`
  16. 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]*,[^,.]*,(.*)`
  17. const regStringSRT = `(\d+)\n([\d:,]+)\s+-{2}\>\s+([\d:,]+)\n([\s\S]*?(\n{1,2}|$))`
  18. const regStringSRT2 = `(\d+)\n([\d:.]+)\s+-{2}\>\s+([\d:.]+)\n([\s\S]*?(\n{1,2}|$))`
  19. const regStringSRTime = `([\d:,]+)\s+-{2}\>\s+([\d:,]+)`
  20. const regStringSRTime2 = `([\d:.]+)\s+-{2}\>\s+([\d:.]+)`
  21. var ReMatchDialogueASS = regexp.MustCompile(regStringASS)
  22. var ReMatchDialogueSRT = regexp.MustCompile(regStringSRT)
  23. var ReMatchDialogueSRT2 = regexp.MustCompile(regStringSRT2)
  24. var ReMatchDialogueTimeSRT = regexp.MustCompile(regStringSRTime)
  25. var ReMatchDialogueTimeSRT2 = regexp.MustCompile(regStringSRTime2)
  26. // RegOneSeasonSubFolderNameMatch 每个视频文件夹下的缓存文件夹名称,一个季度的
  27. var RegOneSeasonSubFolderNameMatch = regexp.MustCompile(`(?m)^Sub_S\dE0`)