Pattern.matches('\d{1,2}-[一二三四五六七八九十]+-[\d]{2}', '21-一月-23') 这样判断有问题,怎么修改?

在修改之前,我们先了解一下正则表达式的含义。

正则表达式 '\d{1,2}-[一二三四五六七八九十]+-[\d]{2}' 的含义是:

  • '\d{1,2}' 匹配 1 到 2 位数字
  • '-' 匹配一个横杠
  • '[一二三四五六七八九十]+' 匹配一个或多个汉字中的数字(一到十)
  • '-' 匹配一个横杠
  • '[\d]{2}' 匹配 2 位数字

根据这个正则表达式,'21-一月-23' 是可以匹配的。但是根据你的问题,你可能希望匹配的是'21-01-23' 这种形式的日期。

要修改正则表达式,可以使用如下的方式:

Pattern.matches('\d{1,2}-\d{2}-\d{2}', '21-01-23')

这个正则表达式的含义是:

  • '\d{1,2}' 匹配 1 到 2 位数字
  • '-' 匹配一个横杠
  • '\d{2}' 匹配 2 位数字
  • '-' 匹配一个横杠
  • '\d{2}' 匹配 2 位数字

这样的正则表达式可以匹配 '21-01-23' 这种形式的日期。

Java 正则表达式匹配日期:如何修正错误?

原文地址: https://www.cveoy.top/t/topic/qz1W 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录