本文小编为大家详细介绍“Java日期时间与正则表达式怎么表示”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java日期时间与正则表达式怎么表示”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
1、java.time.LocalDate类表示日期;
你可以使用该类的now()方法获取当前日期,或者使用of()方法创建一个指定日期的实例,例如:
LocalDate today = LocalDate.now(); LocalDate myBirthday = LocalDate.of(2000, Month.JANUARY, 1);
2、java.time.LocalTime类表示时间;
你可以使用该类的now()方法获取当前时间,或者使用of()方法创建一个指定时间的实例,例如:
LocalTime now = LocalTime.now(); LocalTime sixThirty = LocalTime.of(6, 30);
3、java.time.LocalDateTime类表示日期和时间;
你可以使用该类的now()方法获取当前日期和时间,或者使用of()方法创建一个指定日期和时间的实例,例如:
LocalDateTime now = LocalDateTime.now(); LocalDateTime dateTime = LocalDateTime.of(2023, Month.JANUARY, 1, 6, 30);
4、java.time.format.DateTimeFormatter类用于格式化日期和时间;
你可以使用该类的ofPattern()方法创建一个格式化模板,然后使用该模板的format()方法格式化日期和时间,例如:
LocalDateTime now = LocalDateTime.now(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); String formattedDateTime = now.format(formatter);
5、创建正则表达式对象
可以使用java.util.regex.Pattern类创建正则表达式对象,该类提供了compile()方法来编译正则表达式,并返回一个Pattern对象。例如:
Pattern pattern = Pattern.compile("regex");
6、匹配字符串
可以使用Matcher类来匹配字符串,并执行相应的操作,例如:可以使用matches()方法来检查给定的字符串是否与正则表达式匹配
String input = "example string"; Pattern pattern = Pattern.compile("example.*"); Matcher matcher = pattern.matcher(input); if (matcher.matches()) { System.out.println("Match found"); }
7、查找匹配
可以使用find()方法在给定的输入中查找正则表达式的匹配项。例如:
String input = "example string"; Pattern pattern = Pattern.compile("example.*"); Matcher matcher = pattern.matcher(input); if (matcher.find()) { System.out.println("Match found at index " + matcher.start()); }
8、替换字符串
可以使用replaceAll()方法来替换匹配正则表达式的字符串。例如:
String input = "example string"; Pattern pattern = Pattern.compile("example"); Matcher matcher = pattern.matcher(input); String output = matcher.replaceAll("replacement"); System.out.println(output);
9、匹配模式
Java中的正则表达式支持许多模式,可以使用这些模式来调整匹配行为。例如,可以使用Pattern.CASE_INSENSITIVE模式来进行不区分大小写的匹配:
String input = "Example String"; Pattern pattern = Pattern.compile("example.*", Pattern.CASE_INSENSITIVE); Matcher matcher = pattern.matcher(input); if (matcher.matches()) { System.out.println("Match found"); }
附:java日期正则表达式
// 日期各种格式yyyy-MM-dd HH:mm:ss、 yyyy-MM-dd等 String dateRgx = "(([1-3][0-9]{3})[-]{0,1}(((0[13578]|1[02])[-]{0,1}(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)[-]{0,1}(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8])))sd{1,2}:d{1,2}:d{1,2})|(([1-3][0-9]{3})[-]{0,1}(((0[13578]|1[02])[-]{0,1}(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8])))sd{1,2}:d{1,2})|(([1-3][0-9]{3})[-]{0,1}(((0[13578]|1[02])[-]{0,1}(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)[-]{0,1}(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))"; String date1 = "2019-08-28"; String date2 = "abc"; System.out.println(date1.matches(dateRgx));//true System.out.println(date2.matches(dateRgx));//false