一、正则表达式
1.1概念:描述规则的字符串
1.2常见规则
表达式 | 表达的含义 |
---|
\d | [0-9]的数字 |
. | 任何字符,除了换行字符 |
\w | 单词字符 [a-zA-Z0-9]和下划线 |
\s | 匹配空白字符 |
^ | 行的开头 |
$ | 行的结尾 |
\b | 单词边界 |
? | 一次或者一次也没有 |
* | 零次或多次 |
+ | 一次或者多次 |
{n} | 恰好n次 |
{n,} | 至少n次 |
{n,m} | 至少n次,不超过m次 |
[abc] | 匹配其中一个字符 |
[!abc] | 不匹配其中任意一个字符 |
(abc) | abc都必须有 |
(?=pattern) | 会去检查是否符合其中的条件 |
1.3正则表达式相关的常用的String类的方法
1. boolean matches(String regex)
判断字符串是否符合给定的规则
2. String[] split(String regex)
根据给定的规则的匹配拆分该字符串
3. String replaceAll(String regex, String replacement)
使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串。
1.4 案例
Pattern pass_patten = Pattern.compile("^1[3-9]\\d{9}$");
Pattern email_patten = Pattern.compile("^4[0-9]\\d{7}@(qq|163).(com|cn)$");
^(?=[A-Z]{3})\w{6,}$
1.5 完整代码
System.out.println(Pattern.compile("^(?=.*[A-Z]{1,}).*4[0-9]\\d{7}@(qq|163).(com|cn)$").matcher("W401129874@1633.com").matches());