java常用类库---正则表达式
一,本章目标
掌握正则表达式的作用
掌握正则表达式的匹配模式
掌握Pattern类和Matcher类的使用
掌握String类对正则的支持
二,具体内容
2.1
以验证字符串是否由数字组成为例:
基本思路:把字符串拆分,然后一个一个判断。但是这样比较麻烦,而且现在只是验证是否由数字组成,如果更加复杂呢?
换成正则表达式,观察效果:
这就正则表达式。
2.2 Pattern,Matcher类
这两类都是正则的核心类,定义在util.regex包中。
常用:
\d:表示数字,【0-9】
\D:表示非数字
\w:表示字母,数字,下划线【a-zA-Z0-9】
\W:【^a-zA-Z0-9】
注意:出现的次数,也就是字符串的长度(出现一次,即字符串长度要是1)
例子:规定用户注册的时候,账号密码长度。
以上的正则如果要驱动起来,则必须依靠Pattern类和Matcher类。
Pattern类主要表示一个规则的意思,Matcher主要是完成匹配的功能。
本类中没有明确的构造方法。通过Matcher方法为Matcher类实例化
Pattern类也可以完成字符串拆分功能。
还可以使用Matcher类中的字符串替换功能。
将字符串中的数字替换成_
2.3 String类对正则的支持
但是在使用正则的时候一点要特别注意
现在,假设有如下的字符串拆分程序:
如果发现一个字符串无法按照制定的字符拆分,则需要使用“\”进行转义
三,总结
使用正则可以方便地完成字符串的验证,拆分,替换等复杂的功能。一般都会使用String类。