欢迎来到天天文库
浏览记录
ID:15473794
大小:263.50 KB
页数:8页
时间:2018-08-03
《java常用类库——正则表达式》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Java常用类库——正则表达式分类: Java编程2011-08-2309:46 255人阅读 评论(-1) 收藏 举报为什么要有正则正则表达式可以方便的对数据进行匹配,可以执行更加复杂的字符串验证、拆分、替换功能。例如:现在要求判断一个字符串是否由数字组成,则可以有以下两种做法:1.不使用正则完成2.使用正则完成1.以验证字符串是否由数字组成为例:[java] viewplaincopy1.public class RegexDemo01{ 2. public static void main(String args[]){ 3.
2、 String str = "1234567890" ; // 此字符串由数字组成 4. boolean flag = true ; // 定义一个标记变量 5. // 要先将字符串拆分成字符数组,之后依次判断 6. char c[] = str.toCharArray() ; // 将字符串变为字符数组 7. for(int i=0;i3、4、c[i]5、>'9'){ // 如果满足条件,则表示不是数字 9. flag = false ; // 做个标记 10. break ; // 程序不再向下继续执行 11. } 12. } 13. if(flag){ 14. System.out.println("是由数字组成!") ; 15. }else{ 16. S6、ystem.out.println("不是由数字组成!") ; 17. } 18. } 1.}; 基本思路:就是将字符串拆分,之后一个个的进行比较的验证,但是这样比较麻烦,而且现在只是验证是否由数字组成,如果更加复杂的呢?此时,如果将代码换成正则表达式,再观察效果:2:认识正则[java] viewplaincopy1.import java.util.regex.Pattern ; 2.public class RegexDemo02{ 3. public static void main(String arg7、s[]){ 4. String str = "1234567890" ; // 此字符串由数字组成 5. if(Pattern.compile("[0-9]+").matcher(str).matches()){ // 使用正则 6. System.out.println("是由数字组成!") ; 7. }else{ 8. System.out.println("不是由数字组成!") ; 9. } 10. } 11.}8、; 以上的代码也完成了字符串的验证功能,可以发现,使用此种验证方法比之前的操作代码更加简单。3.Pattern、Matcher类这两个类为正则的核心操作类。d:表示数字,[0-9]D:表示非数字,[^0-9]w:表示字母、数字、下划线,[a-zA-Z0-9]W:[^a-zA-Z0-9]以上的正则,如果要想驱动起来,则必须依靠Pattern类和Matcher类。Pattern主要表示一个规则的意思,即:正则表达式的规则需要Pattern类中使用。Matcher类主要表示使用Pattern指定好的验证规则。本类中没有明确的构造方法可以供用户使用9、,那么则肯定上类的构造方法被私有化了,则可以直接从Pattern类中取得本类的实例。指定好操作的正则:publicstatic Pattern compile(Stringregex)可以为matcher类实例化:public Matcher matcher(CharSequence input)拆分:public String[]split(CharSequence input)回顾:String中也存在拆分操作。进行字符串的验证:publicbooleanmatches()字符串替换:publicStringreplaceAll(Stringre10、placement)与String中相同。[java] viewplaincopy1.import java
3、
4、c[i]
5、>'9'){ // 如果满足条件,则表示不是数字 9. flag = false ; // 做个标记 10. break ; // 程序不再向下继续执行 11. } 12. } 13. if(flag){ 14. System.out.println("是由数字组成!") ; 15. }else{ 16. S
6、ystem.out.println("不是由数字组成!") ; 17. } 18. } 1.}; 基本思路:就是将字符串拆分,之后一个个的进行比较的验证,但是这样比较麻烦,而且现在只是验证是否由数字组成,如果更加复杂的呢?此时,如果将代码换成正则表达式,再观察效果:2:认识正则[java] viewplaincopy1.import java.util.regex.Pattern ; 2.public class RegexDemo02{ 3. public static void main(String arg
7、s[]){ 4. String str = "1234567890" ; // 此字符串由数字组成 5. if(Pattern.compile("[0-9]+").matcher(str).matches()){ // 使用正则 6. System.out.println("是由数字组成!") ; 7. }else{ 8. System.out.println("不是由数字组成!") ; 9. } 10. } 11.}
8、; 以上的代码也完成了字符串的验证功能,可以发现,使用此种验证方法比之前的操作代码更加简单。3.Pattern、Matcher类这两个类为正则的核心操作类。d:表示数字,[0-9]D:表示非数字,[^0-9]w:表示字母、数字、下划线,[a-zA-Z0-9]W:[^a-zA-Z0-9]以上的正则,如果要想驱动起来,则必须依靠Pattern类和Matcher类。Pattern主要表示一个规则的意思,即:正则表达式的规则需要Pattern类中使用。Matcher类主要表示使用Pattern指定好的验证规则。本类中没有明确的构造方法可以供用户使用
9、,那么则肯定上类的构造方法被私有化了,则可以直接从Pattern类中取得本类的实例。指定好操作的正则:publicstatic Pattern compile(Stringregex)可以为matcher类实例化:public Matcher matcher(CharSequence input)拆分:public String[]split(CharSequence input)回顾:String中也存在拆分操作。进行字符串的验证:publicbooleanmatches()字符串替换:publicStringreplaceAll(Stringre
10、placement)与String中相同。[java] viewplaincopy1.import java
此文档下载收益归作者所有