java入门篇(15) 正则表达式
·
java入门篇(15) 正则表达式
一、正则表达式
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)$");
- 至少包含3个大写字母
^(?=[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());
更多推荐
所有评论(0)