java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Java日期时间与正则表达式

Java日期时间与正则表达式超详细整理(适合新手入门)

作者:久绊A

如果使用得当,正则表达式是匹配各种模式的强大工具,下面这篇文章主要给大家介绍了关于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])))\\s\\d{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])))\\s\\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}(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

总结

到此这篇关于Java日期时间与正则表达式(适合新手入门)的文章就介绍到这了,更多相关Java日期时间与正则表达式内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文