PatternConsts.java 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package com.smppw.modaq.common.conts;
  2. import java.util.regex.Pattern;
  3. /**
  4. * 正则匹配表达式常量
  5. */
  6. public class PatternConsts {
  7. /**
  8. * 季度报告日期正则匹配
  9. */
  10. public static final Pattern QUARTERLY_PATTERN = Pattern.compile("(20[23]\\d)\\D*([一二三四1234])季");
  11. /**
  12. * 年度报告日期正则匹配
  13. */
  14. public static final Pattern ANNUALLY_PATTERN = Pattern.compile("(20[23]\\d)(年度|年报|年年度|年年报)?");
  15. /**
  16. * 月度报告日期正则匹配
  17. */
  18. public static Pattern MONTHLY_PATTERN = Pattern.compile("(20[23]\\d)[/年_-]*(\\d{1,2})月?");
  19. /**
  20. * 严格的年月日匹配
  21. */
  22. public static final Pattern STRICT_DAY_PATTERN = Pattern.compile("(20[23]\\d)[/年_-]*(\\d{1,2})[/月_-]*(\\d{1,2})[日号]*(?!\\d)");
  23. /**
  24. * 宽泛的日期匹配
  25. */
  26. public static final Pattern DAY_PATTERN = Pattern.compile("(20[23]\\d)[/年_-]*(\\d{1,2})[/月_-]*(\\d{1,2})[日号\\d]+");
  27. /**
  28. * 基金编码的正则表达式
  29. */
  30. public static final Pattern FUND_CODE_PATTERN = Pattern.compile("S[A-Z0-9]{5}");
  31. /**
  32. * 分级基金级别正则匹配
  33. */
  34. public static final Pattern FUND_LEVEL_PATTERN = Pattern.compile("[A-F]级|基金[A-F]");
  35. // 正则表达式匹配单行和多行注释
  36. public static final Pattern JSON_COMMENT_PATTERN = Pattern.compile(
  37. "(\"(?:\\\\\"|[^\"])*?\")" + // 匹配双引号内的内容(避免匹配字符串内的注释符号)
  38. "|//.*" + // 匹配单行注释
  39. "|/\\*(?:.|[\\n\\r])*?\\*/", // 匹配多行注释
  40. Pattern.MULTILINE
  41. );
  42. }