概述
正则表达式,又称规则表达式
正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本
java提供的类
Pattern
String提供的正则的判断的方法
matches(String regex) 通过参数正则,来判断字符串对象是否符合要求
package com.demo;
/**
1.用户名3-6位,并且只能是由字母 数字 _组成
2.正则的规则:
该位置可以出现的字符 该字符可以出现的次数
3.Greedy 数量词
X? X,一次或一次也没有
X* X,零次或多次
X+ X,一次或多次
X{n} X,恰好 n 次
X{n,} X,至少 n 次
X{n,m} X,至少 n 次,但是不超过 m 次
4.预定义字符类
. 任何字符(与行结束符可能匹配也可能不匹配)
\d 数字:[0-9]
\D 非数字: [^0-9]
\s 空白字符:[ \t\n\x0B\f\r]
\S 非空白字符:[^\s]
\w 单词字符:[a-zA-Z_0-9]
\W 非单词字符:[^\w]
*/
public class 正则表达式 {
public static void main(String[] args) {
// String name = "";//?
// System.out.println(name.length()>=3 && name.length()<=6);
// name.toCharArray()
/* String name1 = "abc123";
System.out.println(name1.matches("[a-zA-Z0-9_]{3,6}"));*/
//qq号 数字 6-10 \d 表示0-9
/* String regQQ="[1-9]\\d{5,9}";
System.out.println("12345".matches(regQQ));*/
//邮箱规则: 字母 数字 _ @ 字母 数字 _ .com 123@126.com
//点表示任意字符,如果要表示点,必须要转义
/* String regEmail= "\\w+@\\w+\\.com";
System.out.println("123@126.com".matches(regEmail));*/
String regTel="(1[35-9][0-9])([0-9]{4})([0-9]{4})";
String tel = "13312345678";
System.out.println(tel.replaceAll(regTel, "$1****$3"));
}
}