当前位置: 首页 > news >正文

Java日期正则表达式(附Demo)

目录

  • 前言
  • 1. 基本知识
  • 2. Demo

前言

对于正则匹配,在项目实战中运用比较广泛

原先写过一版Python相关的:ip和端口号的正则表达式

1. 基本知识

对于日期的正则相对比较简单

以下是一些常见的日期格式及其对应的正则表达式示例:

  • 年-月-日(YYYY-MM-DD):
    正则表达式:\d{4}-\d{2}-\d{2}
    示例:2024-04-11

  • 年/月/日(YYYY/MM/DD):
    正则表达式:\d{4}/\d{2}/\d{2}
    示例:2024/04/11

  • 月/日/年(MM/DD/YYYY):
    正则表达式:\d{2}/\d{2}/\d{4}
    示例:04/11/2024

  • 日/月/年(DD/MM/YYYY):
    正则表达式:\d{2}/\d{2}/\d{4}
    示例:11/04/2024

  • 年月日无分隔符(YYYYMMDD):
    正则表达式:\d{8}
    示例:20240411

2. Demo

由于实战中运用到某些逻辑

假设数据如下:"2024-04-28~2024-05-05"

需要的数据只要后半部分的年月
类似Demo如下:

import java.util.regex.Matcher;
import java.util.regex.Pattern;public class test {public static String extractYearMonth(String date) {String monthYearPattern = "\\d{4}-(\\d{2})-\\d{2}~(\\d{4})-(\\d{2})-\\d{2}";Pattern pattern = Pattern.compile(monthYearPattern);Matcher matcher = pattern.matcher(date);if (matcher.find()) {return matcher.group(2) + "-" + matcher.group(3); // 返回匹配到的年月部分} else {return null; // 如果没有匹配到,返回 null}}public static void main(String[] args) {String weekPlanTime = "2024-04-28~2024-05-05";String monthYear = extractYearMonth(weekPlanTime);System.out.println(monthYear); // 输出 "04"}
}

截图如下:

在这里插入图片描述

补充group的知识点

  • Matcher 类是用于在字符串中执行正则表达式匹配操作的引擎,可以在输入字符串中进行正则表达式的匹配和搜索。- 使用 Matcher 对象执行匹配后,你可以使用 group() 方法来检索匹配的子序列

group() 方法有几种不同的形式,但最常用的是不带参数的形式,返回整个模式匹配的子序列
还可以使用带参数的 group(int group) 方法,返回指定捕获组的匹配子序列
捕获组是用圆括号 () 括起来的正则表达式的一部分,可以在匹配时从输入字符串中提取出来

使用了 matcher.group(2),这表示我们提取了正则表达式模式中的第二个捕获组,也就是结束日期的年份部分

  • matcher.group(1) 代表04
  • matcher.group(2) 代表2024
  • matcher.group(3) 代表05

对于个别日期比较灵活,可以使用这种方式:

import java.util.regex.Matcher;
import java.util.regex.Pattern;public class test {public static String extractYearMonth(String date) {String monthYearPattern = "\\d{4}-(\\d{1,2})-\\d{1,2}~(\\d{4})-(\\d{1,2})-\\d{1,2}";Pattern pattern = Pattern.compile(monthYearPattern);Matcher matcher = pattern.matcher(date);if (matcher.find()) {return matcher.group(2)  + "-" + matcher.group(3) ; // 返回匹配到的年月部分} else {return null; // 如果没有匹配到,返回 null}}public static void main(String[] args) {String weekPlanTime = "2024-4-28~2024-5-5";String monthYear = extractYearMonth(weekPlanTime);System.out.println(monthYear); // 输出 "04"}
}

截图如下:

在这里插入图片描述

相关文章:

Java日期正则表达式(附Demo)

目录 前言1. 基本知识2. Demo 前言 对于正则匹配,在项目实战中运用比较广泛 原先写过一版Python相关的:ip和端口号的正则表达式 1. 基本知识 对于日期的正则相对比较简单 以下是一些常见的日期格式及其对应的正则表达式示例: 年-月-日&a…...

基于LabVIEW的CAN通信系统开发案例

基于LabVIEW的CAN通信系统开发案例 介绍了基于LabVIEW开发的CAN通信系统,该系统主要用于汽车行业的数据监控与分析。通过对CAN通信协议的有效应用,实现了车辆控制系统的高效信息交换与实时数据处理,从而提升了车辆性能的检测与优化能力。 项…...

SAP SD学习笔记07 - 紧急发注(急单),现金贩卖,贩卖传票Type/ 明细Category 及其Customize

上面讲SAP中主干流程的时候,还有后面讲一括处理的时候,都用的是 OR 标准受注。 SAP SD学习笔记01 - 简单走一遍SD的流程:受注,出荷,请求_怎么学好sd模块-CSDN博客 下面开始讲一些稀奇古怪的非标准流程。 当然&#x…...

(六)C++自制植物大战僵尸游戏关卡数据讲解

植物大战僵尸游戏开发教程专栏地址http://t.csdnimg.cn/xjvbb 游戏关卡数据文件定义了游戏中每一个关卡的数据,包括游戏类型、关卡通关奖励的金币数量、僵尸出现的波数、每一波出现僵尸数量、每一波僵尸出现的类型等。根据不同的游戏类型,定义了不同的通…...

Java基于微信小程序的校园外卖平台设计与实现,附源码

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…...

渗透工具及其知识库(个人笔记)

1.IP搜寻 查看kali网段&#xff1a; ip addr 、 ifconfig namp&#xff1a;nmap -sP xxx.xxx.xxx.0/24 netdiscover&#xff1a;netdiscover xxx.xxx.xxx.0/24 arp&#xff1a;arp-scan -l 2.端口扫描 粗略扫描&#xff1a;nmap <IP> 深度扫描&#xff1a; …...

MongoDB的使用

一、Spring Boot集成MongoDB 1 引用依赖包 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-mongodb</artifactId></dependency> 2 配置文件配置mongodb资料 # MongoDB连接信息 spring.…...

labview中FP.isFrontmost不生效?

主GUI界面中调用子GUI程序FP.isFrontmost不生效&#xff1f; 如果主GUI程序使用“floating”,子GUI程序使用default动作&#xff0c;则子GUI无法打开到最前。子GUI程序只能使用“模态”才能置顶。 主GUI程序&#xff1a; 子GUI程序&#xff1a; 改正的方法很简单&#xff0c…...

Vela-OS: 记录一个class层,处理MSC协议的bug

一、关于USC-MSC类设备驱动层,处理SCSI指令的代码逻辑问题 1. 源文件 \nuttx\drivers\usbdev\usbmsc_scsi.c 2. 问题描述 对于INQUIRY指令,长度一般是6个字节,cdblen字段嵌入在CBW数据包中,如下: 命令阶段的CBW数据包: 55 53 42 43 60 2a c0 8b 24 00 00 00 0x80 0x…...

跨框架探索:React Redux 和 Vuex 对比分析快速掌握React Redux

React Redux 和 Vuex 都是前端状态管理库&#xff0c;分别用于 React 和 Vue.js 框架。 它们都提供了一套规范的状态管理机制&#xff0c;帮助开发者更好地组织和管理应用状态。下面是它们的一些异同点&#xff1a; 相同点&#xff1a; 中心化状态管理&#xff1a;两者都提…...

第十五届蓝桥杯省赛C/C++大学B组真题及赛后总结

目录 个人总结 C/C 组真题 握手问题 小球反弹 好数 R 格式 宝石组合 数字接龙 爬山 拔河 ​编辑 再总结及后续规划 个人总结 第一次参加蓝桥杯&#xff0c;大二&#xff0c;以前都在在学技术&#xff0c;没有系统的学过算法。所以&#xff0c;还是花了挺多时间去备…...

【Qt踩坑】ARM 编译Qt5.14.2源码-QtWebEngine

1.下载源码 下载网站&#xff1a;Index of /new_archive/qt/5.14/5.14.2/single 2.QWebEngine相关依赖 sudo apt-get install flex libicu-dev libxslt-dev sudo apt-get install libssl-dev libxcursor-dev libxcomposite-dev libxdamage-dev libxrandr-dev sudo apt-get …...

SQL语法 case when语句用法讲解

CASE WHEN解释 &#xff1a; SQL中的CASE WHEN语句是一种条件表达式&#xff0c;它允许你根据不同的情况返回不同的值。CASE WHEN通常用于SELECT语句中&#xff0c;用于创建新的列&#xff0c;该列的值取决于其他列的值。CASE WHEN可以用于任何可以使用表达式的地方。 大致概…...

Project Euler_Problem 193_Few Repeated Digits_欧拉筛+容斥公式

解题思路&#xff1a;暴力搜索 代码&#xff1a; void solve() {ll i, j,k,x,y,z,p,q,u,v,l,l1;N 999966663333, NN 1024;//N 1000;double a, b, c,d;M.NT.get_prime_Euler(1000000);l M.NT.pcnt;for (i 1; i < l; i) {u M.NT.prime[i];v M.NT.prime[i 1];x u * …...

排序算法-基数排序

基数排序是一种非比较排序算法&#xff0c;它将待排序的数字按照位数进行排序。基数排序的思想是先按照个位数进行排序&#xff0c;然后按照十位数进行排序&#xff0c;接着按照百位数进行排序&#xff0c;以此类推&#xff0c;直到最高位排序完成。 基数排序的步骤如下&#x…...

ChatGPT在线网页版

ChatGPT镜像 今天在知乎看到一个问题&#xff1a;“平民不参与内测的话没有账号还有机会使用ChatGPT吗&#xff1f;” 从去年GPT大火到现在&#xff0c;关于GPT的消息铺天盖地&#xff0c;真要有心想要去用&#xff0c;途径很多&#xff0c;别的不说&#xff0c;国内GPT的镜像…...

5.SpringSpringBoot八股

Spring,Spring MVC,Spring Boot 之间什么关系? Spring就是整个Spring框架的整体&#xff0c;包含AOP、JDBC、Spring MVC等等模块 SpringBoot是Spring的精简版&#xff0c;它在Spring的基础上添加了自动装配、内置tomcat服务器等功能&#xff0c;使得代码量更少&#xff0c;同…...

0基础刷图论最短路 3(从ATcoder 0分到1800分)

AT最短路刷题3&#xff08;本文难度rated 1200~ 1400&#xff09; 题目来源&#xff1a;Atcoder 题目收集&#xff1a; https://atcoder-tags.herokuapp.com/tags/Graph/Shortest-Path &#xff08;里面按tag分类好了Atcoder的所有题目&#xff0c;类似cf&#xff09; &#x…...

k8s+docker一键安装过程

环境: k8s 1.20 docker 20.10 centos7.9 #docker安装 yum install -y epel-release yum install -y yum-utils yum-config-manager --add-repo https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo yum install -y docker-ce-20.10.6 docker-ce-cli-2…...

Python3+Appium+Android SDK+真机+实现app自动化测试-基于Red Hat7.9版本搭建环境及运行python脚本。

1、总体概述? 收费有收费的服务,那就是细致。Red Hat9.0自动化环境也有,需要的说一声。 1、实现在Red Ha/t Enterprise Linux7.9环境中搭建部署app自动化测试环境,提供详细步骤。 2、版本说明:jdk8/17+nodejs16/18/19/20/21+android sdk29+python3.9.18/3.11.1+appium1…...

多模态AI对齐技术:从CLIP对比学习到BLIP融合架构的工程实践

1. 项目概述&#xff1a;为什么“对齐”是多模态AI的命门&#xff1f;如果你最近在捣鼓大语言模型&#xff08;LLM&#xff09;或者图像生成模型&#xff0c;可能会发现一个有趣的现象&#xff1a;让模型“画一只猫坐在键盘上”&#xff0c;它可能给你生成一只猫&#xff0c;旁…...

基于零知识证明与Cardano的隐私优先AI赏金池系统NightPay实战指南

1. 项目概述&#xff1a;一个为AI智能体设计的隐私优先赏金池系统如果你正在寻找一种既能激励AI智能体完成特定任务&#xff0c;又能完全保护资金提供者隐私的解决方案&#xff0c;那么NightPay很可能就是你需要的工具。简单来说&#xff0c;NightPay是一个建立在Midnight隐私网…...

如何理解KityMinder脑图编辑器的模块化命令系统设计原理 [特殊字符]

如何理解KityMinder脑图编辑器的模块化命令系统设计原理 &#x1f9e0; 【免费下载链接】kityminder 百度脑图 项目地址: https://gitcode.com/gh_mirrors/ki/kityminder KityMinder是一款由百度FEX团队开发的在线脑图编辑工具&#xff0c;它基于SVG技术实现&#xff0c…...

如何快速掌握Apache Camel与Docker容器化部署:终极完整指南[特殊字符]

如何快速掌握Apache Camel与Docker容器化部署&#xff1a;终极完整指南&#x1f680; 【免费下载链接】camel Apache Camel is an open source integration framework that empowers you to quickly and easily integrate various systems consuming or producing data. 项目…...

Tsuru平台安全合规审计终极指南:定期检查与事件驱动策略

Tsuru平台安全合规审计终极指南&#xff1a;定期检查与事件驱动策略 【免费下载链接】tsuru Open source and extensible Platform as a Service (PaaS). 项目地址: https://gitcode.com/gh_mirrors/ts/tsuru Tsuru作为一款开源且可扩展的Platform as a Service (PaaS)平…...

tao-8k Embedding模型工业质检:设备说明书长文本向量化与故障描述语义匹配

tao-8k Embedding模型工业质检&#xff1a;设备说明书长文本向量化与故障描述语义匹配 1. 工业质检场景中的文本匹配挑战 在工业设备维护和质检领域&#xff0c;技术人员每天都要面对大量的设备说明书、故障报告和维护记录。传统的关键词匹配方式经常遇到这样的问题&#xff…...

阿里FunASR模型体验:Speech Seaco Paraformer ASR,单文件批量处理全支持

阿里FunASR模型体验&#xff1a;Speech Seaco Paraformer ASR&#xff0c;单文件批量处理全支持 1. 引言&#xff1a;为什么选择Seaco Paraformer ASR&#xff1f; 在智能语音交互日益普及的今天&#xff0c;准确高效的中文语音识别(ASR)技术成为许多应用的核心需求。无论是会…...

AI+DFT实战:机器学习势加速材料计算与高通量筛选

1. 项目概述&#xff1a;当AI遇见量子化学如果你在计算化学或者材料科学领域摸爬滚打过&#xff0c;一定对“密度泛函理论”这个词又爱又恨。爱它&#xff0c;是因为它几乎是目前处理复杂多电子体系最实用、最主流的量子力学方法&#xff0c;从催化剂的活性位点到电池材料的能带…...

CANN/sip BLAS Ssyr2算子文档

Ssyr2 【免费下载链接】sip 本项目是CANN提供的一款高效、可靠的高性能信号处理算子加速库&#xff0c;基于华为Ascend AI处理器&#xff0c;专门为信号处理领域而设计。 项目地址: https://gitcode.com/cann/sip 产品支持情况 产品是否支持Atlas 200I/500 A2 推理产品…...

低资源语言AI写作助手:数据质量与微调策略的工程实践

1. 项目概述&#xff1a;当AI遇见濒危语言在自然语言处理&#xff08;NLP&#xff09;领域&#xff0c;我们常常谈论的是如何用海量数据训练出更强大的模型。但当我们将目光投向全球数千种使用人数稀少的低资源语言&#xff0c;尤其是那些面临传承危机的濒危语言时&#xff0c;…...