模式匹配就是检索和指定模式匹配的字符串,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,模式匹配时将忽略大小写。


点赞(0)

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Dotcpp在线编译      (登录可减少运行等待时间)