sqlite 做网站数据库,策划会展网站建设,烟台模板建站代理,怎么用抓爬工具做网站目录 前言1. 基本知识2. Demo 前言
对于正则匹配#xff0c;在项目实战中运用比较广泛
原先写过一版Python相关的#xff1a;ip和端口号的正则表达式
1. 基本知识
对于日期的正则相对比较简单
以下是一些常见的日期格式及其对应的正则表达式示例#xff1a; 年-月-日在项目实战中运用比较广泛
原先写过一版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) 代表04matcher.group(2) 代表2024matcher.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}
}截图如下