Java日期时间与正则表达式怎么表示

寻技术 JAVA编程 2023年08月01日 82

本文小编为大家详细介绍“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
关闭

用微信“扫一扫”