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网段: ip addr 、 ifconfig namp:nmap -sP xxx.xxx.xxx.0/24 netdiscover:netdiscover xxx.xxx.xxx.0/24 arp:arp-scan -l 2.端口扫描 粗略扫描:nmap <IP> 深度扫描: …...
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不生效? 如果主GUI程序使用“floating”,子GUI程序使用default动作,则子GUI无法打开到最前。子GUI程序只能使用“模态”才能置顶。 主GUI程序: 子GUI程序: 改正的方法很简单,…...
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 都是前端状态管理库,分别用于 React 和 Vue.js 框架。 它们都提供了一套规范的状态管理机制,帮助开发者更好地组织和管理应用状态。下面是它们的一些异同点: 相同点: 中心化状态管理:两者都提…...
第十五届蓝桥杯省赛C/C++大学B组真题及赛后总结
目录 个人总结 C/C 组真题 握手问题 小球反弹 好数 R 格式 宝石组合 数字接龙 爬山 拔河 编辑 再总结及后续规划 个人总结 第一次参加蓝桥杯,大二,以前都在在学技术,没有系统的学过算法。所以,还是花了挺多时间去备…...
【Qt踩坑】ARM 编译Qt5.14.2源码-QtWebEngine
1.下载源码 下载网站: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解释 : SQL中的CASE WHEN语句是一种条件表达式,它允许你根据不同的情况返回不同的值。CASE WHEN通常用于SELECT语句中,用于创建新的列,该列的值取决于其他列的值。CASE WHEN可以用于任何可以使用表达式的地方。 大致概…...
Project Euler_Problem 193_Few Repeated Digits_欧拉筛+容斥公式
解题思路:暴力搜索 代码: 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 * …...
排序算法-基数排序
基数排序是一种非比较排序算法,它将待排序的数字按照位数进行排序。基数排序的思想是先按照个位数进行排序,然后按照十位数进行排序,接着按照百位数进行排序,以此类推,直到最高位排序完成。 基数排序的步骤如下&#x…...
ChatGPT在线网页版
ChatGPT镜像 今天在知乎看到一个问题:“平民不参与内测的话没有账号还有机会使用ChatGPT吗?” 从去年GPT大火到现在,关于GPT的消息铺天盖地,真要有心想要去用,途径很多,别的不说,国内GPT的镜像…...
5.SpringSpringBoot八股
Spring,Spring MVC,Spring Boot 之间什么关系? Spring就是整个Spring框架的整体,包含AOP、JDBC、Spring MVC等等模块 SpringBoot是Spring的精简版,它在Spring的基础上添加了自动装配、内置tomcat服务器等功能,使得代码量更少,同…...
0基础刷图论最短路 3(从ATcoder 0分到1800分)
AT最短路刷题3(本文难度rated 1200~ 1400) 题目来源:Atcoder 题目收集: https://atcoder-tags.herokuapp.com/tags/Graph/Shortest-Path (里面按tag分类好了Atcoder的所有题目,类似cf) &#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…...
深入理解MD5算法:原理、应用与安全
title: 深入理解MD5算法:原理、应用与安全 date: 2024/4/11 20:55:57 updated: 2024/4/11 20:55:57 tags: MD5算法数据安全哈希函数摘要算法安全漏洞SHA算法密码学 第一章:引言 导言 在当今数字化时代,数据安全和完整性变得至关重要。消息…...
架构师系列-搜索引擎ElasticSearch(三)- Java API
SpringBoot整合ES 搭建SpringBoot工程,引入ElasticSearch相关坐标 <!--引入es的坐标--><dependency><groupId>org.elasticsearch.client</groupId><artifactId>elasticsearch-rest-high-level-client</artifactId><versi…...
Ubuntu下配置Android NDK环境
Android-NDK的下载 下载Android-NDK wget -c http://dl.google.com/android/ndk/android-ndk-r10e-linux-x86_64.bin 执行bin文件(即解压) ./android-ndk-r10c-linux-x86_64.bin Android-NDK的配置 要想使用Android-NDK,还需要进行环境变量…...
使用 vue3-sfc-loader 加载远程Vue文件, 在运行时动态加载 .vue 文件。无需 Node.js 环境,无需 (webpack) 构建步骤
加载远程Vue文件 vue3-sfc-loader vue3-sfc-loader ,它是Vue3/Vue2 单文件组件加载器。 在运行时从 html/js 动态加载 .vue 文件。无需 Node.js 环境,无需 (webpack) 构建步骤。 主要特征 支持 Vue 3 和 Vue 2(参见dist/)仅需…...
stm32移植嵌入式数据库FlashDB
本次实验的程序链接stm32f103FlashDB嵌入式数据库程序资源-CSDN文库 一、介绍 FlashDB 是一款超轻量级的嵌入式数据库,专注于提供嵌入式产品的数据存储方案。与传统的基于文件系统的数据库不同,FlashDB 结合了 Flash 的特性,具有较强的性能…...
Ubuntu 安装Java、Git、maven、Jenkins等持续集成环境
Ubuntu 持续集成 安装OpenJdk 查看所有可安装的 JDK 版本 apt list OpenJDK\*使用 apt 安装 JDK(以 11为例),最好是用11,java8对应的jenkins会有兼容问题。 sudo apt install openjdk-11-jdk openjdk-11-jre安装成功后,可以使用以…...
文件批量重命名并批量修改文件扩展名,支持随机大小写字母命名并修改扩展名字母
在数字时代,文件的管理和整理成为了我们日常工作与生活中不可或缺的一部分。然而,面对堆积如山的文件,如何高效地对其进行重命名和修改扩展名,成为了许多人的难题。 第一步,进入文件批量改名高手的主页面,…...
【管理咨询宝藏70】MBB大型城投集团内外部环境分析报告
本报告首发于公号“管理咨询宝藏”,如需阅读完整版报告内容,请查阅公号“管理咨询宝藏”。 【管理咨询宝藏70】MBB大型城投集团内外部环境分析报告 【格式】PDF版本 【关键词】战略规划、商业分析、管理咨询、MBB顶级咨询公司 【强烈推荐】 这是一套市…...
服务器挖矿病毒解决ponscan,定时任务解决
服务器挖矿病毒解决ponscan,定时任务解决 挖矿病毒会隐藏chattr的操作权限,让我们无法删除病毒文件,杀掉病毒进程。所以要去下载chattr.c的文件,编译成a.out。然后再对原来的chattr文件的权限进行修改。然后覆盖掉它。 chattr.c …...
【鸿蒙开发】第二十一章 Media媒体服务(二)--- 音频播放和录制
1 AVPlayer音频播放 使用AVPlayer可以实现端到端播放原始媒体资源,本开发指导将以完整地播放一首音乐作为示例,向开发者讲解AVPlayer音频播放相关功能。 以下指导仅介绍如何实现媒体资源播放,如果要实现后台播放或熄屏播放,需要…...
网站开发怎么让别人看到/舟山百度seo
曾经在论坛上发的提问,现在做一下总结。 GLBP的介绍: 全称Gateway Load Banancing Protocol, 中文叫网关负载均衡协议。它以什么样的方式来做负载均衡呢?简单地说,我们主机设置的网关地址是不变的,但是我们…...
山西住房和城乡建设厅网站/河南seo和网络推广
以下有三个问题: 1、那些内存需要回收? java堆中创建的对象需要回收,以及方法区中的类需要卸载以及常量池需要回收。 2、什么时候回收? JVM通过可达性算法分析,如果一个对象到GC roots对象之间没有链,则该对象就会…...
建立网站要准备多少钱/北京seo百度推广
Eureka 服务器架起来了(关于架设步骤参考博客《Linux 下 Eureka 服务器的部署》),现在如何把我们要负载均衡的服务器(也就是从 Application Client 接收请求并返回一个响应的 Application Service)注册到 Eureka?本文以一个示例介绍 Eureka Application …...
企业网站开发实训心得/福州百度快速优化
TVP两周年2018年12月15日,在北京的腾讯云社区开发者大会上,作为腾讯云构建开发者生态的重要战略,TVP计划正式发布。2020年12月15日,不知不觉,腾讯云TVP已经走过了两度春秋。从0到1的探索,1到10的成长&#…...
最好的网站模版/竞价点击软件排名
小例题: n 个数 目前为三个数 x%32; x%53; x%72; 1.求最小公倍数:M357105。 2.依照余数求各个数的基础数: 105/335,35%32; 105/521,21%51,即63%53; 105/715,15%71&a…...
网站做流量是怎么回事/外链相册
最近要弄弄以前想弄的东东了, 所以图形界面不可少,,TKinter, 就用它了, 简单,满足要求。 #coding: utf8 from Tkinter import *def tklabel(event):s Label(root, text"IloveXin")s.pack()root …...