Java Pattern 正则表达式
正则表达式(Regular Expression),又称规则表达式,可以用于描述文本模式。在Java语言中,我们借助Pattern对象实现正则表达式的使用。在Java中,正则表达式的基本语法与其他编程语言大致相同,在此就不再一一介绍。本文将重点介绍Java中Pattern对象的使用。
Pattern的创建
在使用Pattern对象之前,需要先创建一个Pattern对象。它的创建方法如下:
其中,参数为一个正则表达式字符串。例如:
这个正则表达式的含义是:匹配至少一个数字字符(0-9)。
Matcher对象
创建完Pattern对象之后,我们需要使用Matcher对象进行正则表达式的匹配。Matcher对象是一个字符串匹配器,它在进行正则表达式匹配时会根据Pattern对象创建,并对指定文本串进行匹配。语法如下:
使用上述语句,我们创建了一个Matcher对象,该对象用于匹配待匹配字符串。例如:
上述代码中,matcher对象用于匹配”Hello 123 Java”字符串中的数字字符。
Matcher的方法
Matcher对象是Pattern对象的匹配器,Matcher类提供了多种方法用于对字符串进行匹配。下面我们将简单地列举Matcher常用方法。
find方法
Matcher类的find方法用于在调用字符串中查找匹配模式。如果找到匹配,该方法返回true。
group方法
Matcher类的group方法用于返回一个由匹配模式匹配到的输入子序列。
此方法返回的是匹配到的字符串子串,例如,matcher.group()将返回”123″。
start和end方法
Matcher类的start方法用于返回匹配模式在输入字符串中的起始位置。Matcher类的end方法用于返回匹配模式在输入字符串中的结束位置。例如:
此代码将分别返回字符串中匹配模式的起始位置和结束位置。
replaceFirst方法
Matcher类的replaceFirst方法用于将匹配模式替换为给定的字符串。
上述代码将匹配到的第一个模式用”hi”替换。
示例
下面我们将演示一个完整的示例程序。在该程序中,我们将通过正则表达式匹配出一段文本串中的全部时间格式。
在上述示例程序中,我们使用了一个正则表达式,匹配了标准时间格式yyyy-mm-dd hh:mm,并在待匹配的字符串中寻找该格式的子串。匹配成功后将打印出最后匹配到的文本串。
结论
本文介绍了Java中正则表达式的使用,及Pattern和Matcher对象的创建和使用。同时,我们演示了一个完整示例程序,以便于用户在开发实际应用时能够更好地掌握Java中正则表达式的使用。需要注意的是,在正则表达式的使用中,需要多加注意各种特殊字符的转义问题。