模式匹配就是检索和指定模式匹配的字符串,Java提供了专门用来进行模式匹配的Pattern类和Matcher类,这些类在java.util.regex包中。
接下来我们来讲讲使用Pattern类和Matcher类的步骤,假设有字符串:
String input = "hello,good morning,this is a good idea";
我们想知道input从哪个位置开始至哪个位置结束曾出现了字符串good。
首先我们要建立模式对象,使用正则表达式regex做参数得到一个称为模式的Pattern类的实例pattern:
Pattern pattern = Pattern.compile(regex);
例如:
String regex = "good"; pattern = Pattern.compile(regex);
模式对象是对正则表达式的封装。Pattern类调用类方法compile(String regex)返回一个模式对象,其中的参数regex是一个正则表达式,称为模式对象使用的模式。
如果参数regex指定的正则表达式有错,complie方法将抛出异常PatternSyntaxException。
Pattern类也可以调用类方法compile(String regex,int flags)返回一个Pattern对象,参数flags可以取下列有效值:
Pattern.CASE_INSENSITIVE Pattern.MULTILINE Pattern.DOTALL Pattern.UNICODE_CASE Pattern.CANON_EQ
例如:flags取值Pattern.CASE_INSENSITIVE,模式匹配时将忽略大小写。
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程