java - 将 SimpleDateFormat 日期格式转换为正则表达式

标签 java regex

是否有通用的方法将 SimpleDateFormat 日期格式转换为 Java 中的正则表达式?

最佳答案

对于简单的表达式你可以做到

String dateFormat = "yyyy/MM/dd HH:mm:ss.SSS";
String regexFormat = dateFormat.replaceAll("[mHsSdMy]", "\\d");

然而,生成可验证的内容要复杂得多。例如当 MM=03 时,dd 必须介于 01 和 31 之间,但是当 MM=02 时,dd 必须介于 01 和 28 或 29 之间(取决于年份)

如果您使用 MMM、DDD、ZZZ,它会更加复杂并且依赖于语言环境。

关于java - 将 SimpleDateFormat 日期格式转换为正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6928267/

相关文章:

正则表达式之后的所有内容,但不包括

python - 如何在 Python 正则表达式中匹配(但不捕获)?

java - 通过 java 连接到 ftps 站点

java - 显示对象而不是字符串

java - ModelMapper 将数组属性 (get(0)) 展平为字符串?

regex - 在 postgresql 中使用函数修改反向引用

Python正则表达式将分割符之前的文本和整个文本之后的文本分组?

javascript - 在jQuery中将文本从textarea复制到div

java - 将 XML 属性映射到 Jackson Xml Mapper 中指定的标记(字段)

java - 如何对抽象类进行单元测试 : extend with stubs?