30分钟正则表达式
在实际开发中经常需要进⾏对字符串进⾏复杂的匹配查替换等等操作,通过正则表达式可以⽅便实现字符串的复杂操作正则表达式[a-z]表⽰a到z的任意字符
正则表达式[a-z]+表⽰由1个或多个a到z的字符组成
字符集合
[abc] 这是由abc三个字符中任意⼀个字符
[^abc] 除了abc的任意字符
[a-z] 中的任意⼀个字符
[a-zA-Z0-9] 这是a-z,A-Z,0-9中任意⼀个字符
[a-z&&[^bc]] a-z中除了b和c以外的任意⼀个字符其中&&表⽰与的关系
预定义字符集
\d 任意⼀个数字字符相当于0-9
\w 单词字符,相当于[a-zA-Z0-9_]
\s 空⽩字符,相当于[\t\n\cOB\h\r]
\D ⾮数字字符
\W ⾮单词字符
\S ⾮空⽩字符
数量词
X? 表⽰0个或者1个X
X* 表⽰0个或者任意多个X
X+ 表⽰1个到任意多个X(⼤于等于1个X)
X{N} 表⽰N个X
X{N,} 表⽰N个到任意多个X(⼤于等于N个X)
X{N,M}表⽰N个到M个X
⽰例匹配六位数
[0-9][0-9][0-9][0-9][0-9][0-9] //第⼀种
[0-9]+{6} //第⼆种
\d{6} //第三种
边界匹配“^” 和“$”
“^” 表⽰字符串开始正则表达式任意内容
“$”表⽰字符串结束
matches⽅法(正则表达式)将⼀个字符串与正则进⾏匹配
匹配成功返回true 否则为false
String email = "bjliyi@tarena";
String reg = "^[a-zA-Z0-9_.-]+@([a-zA-Z0-9-]+\\.)+[a-zA-Z0-9]{2,4}$";
System.out.println(reg.matches(email));
使⽤split和replaceAll⽅法来匹配正则
String str = "s s b c d";
String sr = "[\\s]";
String[] s = str.split(sr);
System.out.String(s));
String str1 = "s+s-b*c=d";
String sr1 = "[\\+\\-\\*\\=]";
String[] s1 = str1.split(sr1);
System.out.String(s1)+"s1");
String str2 = "12556ds56d";
String sr2 = "[0-9]+";
str2 = placeAll(sr2,"数字");
System.out.println(str2);
equals⽅法和==之间的区别
==⽤于⽐较变量的值,可以应⽤于任何类型,如果⽤于引⽤类型⽐交的变量中存储的值(地址信息)判断两个变量是否指向相同对象⽽equals是Object的⽅法,重写之后,可以⽤于⽐较两个对象的内容是否相等
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论