正则表达式
**正则表达式的字符**
任何一个字符都可以是正则表达式的字符
[abc] 表示一个字符,a或者b或者c
(b|d|rt) 表示一组字符 b或者的或者rt
[a-z] 表示任意一个小写字母
[A-Z] 表示任意一个大写字母
[0-9] 表示任意一个数字
[1-5] 表示1~5这5个数字中的某一个
[a-zA-Z0-9] 表示所有的字母和数字中的某一个
[a-m&&[h-z]] 等价于[h-m]
[^bcd] 除开abcd以外的所有字符中的一个
[ae-z]
[a-zA-Z_0-9] 所有的单词字符
**预定义的字符**
. 一个任意字符
\d 数字,等价于[0-9]
\D 非数字等价于[^0-9]
\w 所有的单词字符,等价于[a-zA-Z_0-9]
\W 非单词字符
\s 空白字符 空格 \t \r \n
\S 非空白字符
字符的数量词
用来表示字符要出现的次数
{5,10} 表示最少5次,最多10次
{5,} 表示最少5次,无上限
{5} 表示必须5次
? 表示0次或一次
* 表示0次或多次
+ 表示1次或多次
+
public class Phone {
public static void phone(String phone) {
String regex="1(3|4|5|8)[0-9]{9}";
System.out.println(phone.matches(regex));
}
public static void zuoji(String haoma) {
String regex="(0731-|0730-|010-)[0-9]{7,8}";
System.out.println(haoma.matches(regex));
}
public static void main(String[] args) {
phone("15116860959");
zuoji("0731-1234567");
}
} |
---|