——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-
正则表达式常见写法
字符类
[abc] 字符必须是abc其中1个
[a-z] 字符必须是小写字母
[A-Z] 字符必须是大写字母
[a-zA-Z] 字符必须是字母
[^abc] 字符必须不是abc其中1个
[^a-z] 字符必须不是小写字母
[^a-zA-Z] 字符不能是字母
预定义字符类
. 匹配任何字符 “192.168.1.100”.split(“.”)
\d 匹配所有数字 \d
\D 匹配非数字 \D
\w 匹配单词字符 \w 什么是单词字符 \w == [a-zA-Z0-9_]
\W 匹配非单词字符 \W \W == [^a-zA-Z0-9_]
数量词
X* 字符出现零次或多次
X? 字符出现一次或者一次也没有
X+ 字符出现一次或者多次
X{n} 字符正好出现n次
X{n,} 字符最少出现n次
X{n,m} 字符出现最少n次,但不超过m次
边界匹配器
^ 匹配行的开头
$ 匹配行的结尾
\b 匹配单词 where are a you from 英文单词的边界
正则表达式的应用:
通过一个需求,进行字符串的处理
有一个字符串,表示的是QQ号码
判断出号码是不是符合QQ要求
QQ号码要求:
* 0不能开头,全数字
* 长度 5-12
public static boolean method(){
String number = "12345689012";
//先判断是不是0开头
if(number.startsWith("0"))
return false;
//判断长度
if(number.length()<5 || number.length()>12)
return false;
//判断全数字,Character类
char[] ch = number.toCharArray();
for(int x = 0 ; x < ch.length ; x++){
if(!Character.isDigit(ch[x]))
return false;
}
return true;
}
Character.isDigit(char c)检查参数c是否是阿拉伯数字0-9。