Module bus.core

Class RegexDateParser

java.lang.Object
org.miaixz.bus.core.center.date.format.parser.RegexDateParser
All Implemented Interfaces:
Serializable, DateParser

public class RegexDateParser extends Object implements DateParser, Serializable
使用正则列表方式的日期解析器,通过定义若干正则规则,遍历匹配后按正则方式解析为日期。
Since:
Java 17+
Author:
Kimi Liu
See Also:
  • Constructor Details

    • RegexDateParser

      public RegexDateParser(List<Pattern> patterns)
      构造,初始化正则模式列表。
      Parameters:
      patterns - 正则表达式模式列表
  • Method Details

    • of

      public static RegexDateParser of(String... regexes)
      根据给定的正则表达式列表创建解析器,忽略大小写。
      Parameters:
      regexes - 正则表达式数组
      Returns:
      RegexDateParser 实例
    • of

      public static RegexDateParser of(Pattern... patterns)
      根据给定的正则模式列表创建解析器。
      Parameters:
      patterns - 正则模式数组
      Returns:
      RegexDateParser 实例
    • setPreferMonthFirst

      public void setPreferMonthFirst(boolean preferMonthFirst)
      设置是否优先解析为月/日格式。
      Parameters:
      preferMonthFirst - true为mm/dd,false为dd/mm
    • addRegex

      public RegexDateParser addRegex(String regex)
      添加自定义正则表达式,忽略大小写。
      Parameters:
      regex - 正则表达式
      Returns:
      当前实例
    • addPattern

      public RegexDateParser addPattern(Pattern pattern)
      添加自定义正则模式。
      Parameters:
      pattern - 正则模式
      Returns:
      当前实例
    • parse

      public Date parse(CharSequence source) throws DateException
      解析日期字符串。
      Specified by:
      parse in interface DateParser
      Parameters:
      source - 日期字符串
      Returns:
      解析后的日期对象
      Throws:
      DateException - 如果解析失败