java入门-----正则表达式
正则表达式
含义:用来描述或者匹配一系列符合某个语句规则的字符串
Pattern:代表正则表达式的匹配模式
Matcher:提供了对正则表达式的分组支持,以及对正则表达式的多次匹配支持
案例:把一个字符串中的电话号码替换成130****1111类型
package com.dream.regex_class;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test01 {
public static void main(String[] args) {
String str = "小红13055648889铁蛋18254657777";
String regex = "(\\d{3})(\\d{4})(\\d{4})";
String replaceAll = str.replaceAll(regex,"$1****$3");
System.out.println(replaceAll);
}
}
案例:校验qq邮箱
package com.dream.regex_class;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test02 {
public static void main(String[] args) {
String str = "1750159674@qq.com";
String regex = "\\d{5,10}@qq.com";
boolean matcher = str.matcher(regex);
System.out.println(matcher);
}
}
字符 | |
---|
x | 字符 x |
// | 反斜线字符 |
/t | 制表符 (’/u0009’) |
/n | 新行(换行)符 (’/u000A’) |
/r | 回车符 (’/u000D’) |
/e | 转义符 (’/u001B’) |
. | 任意字符 |
字符类 | |
---|
[abc] | a、b 或 c(简单类) |
[^abc] | 任何字符,除了 a、b 或 c(否定) |
[a-zA-Z] | a 到 z 或 A 到 Z,两头的字母包括在内(范围) |
[a-d[m-p]] | a 到 d 或 m 到 p:[a-dm-p](并集) |
[a-z&&[def]] | d、e 或 f(交集) |
[a-z&&[^bc]] | a 到 z,除了 b 和 c:[ad-z](减去) |
[a-z&&[^m-p]] | a 到 z,而非 m 到 p:[a-lq-z](减去) |
预定义字符类 | |
---|
. | 任何字符(与行结束符可能匹配也可能不匹配) |
/d | 数字:[0-9] |
/D | 非数字: [^0-9] |
/s | 空白字符:[ /t/n/x0B/f/r] |
/S | 非空白字符:[^/s] |
/w | 单词字符:[a-zA-Z_0-9] |
/W | 非单词字符:[^/w] |
边界匹配器 | |
---|
^ | 行的开头 |
$ | 行的结尾 |
/b | 单词边界 |
/B | 非单词边界 |
/A | 输入的开头 |
/G | 上一个匹配的结尾 |
/Z | 输入的结尾,仅用于最后的结束符(如果有的话) |
/z | 输入的结尾 |
Greedy 数量词 | |
---|
X? | X,一次或一次也没有 |
X* | X,零次或多次 |
X+ | X,一次或多次 |
X{n} | X,恰好 n 次 |
X{n,} | X,至少 n 次 |
X{n,m} | X,至少 n 次,但是不超过 m 次 |
Reluctant 数量词 | |
---|
X?? | X,一次或一次也没有 |
X*? | X,零次或多次 |
X+? | X,一次或多次 |
X{n}? | X,恰好 n 次 |
X{n,}? | X,至少 n 次 |
X{n,m}? | X,至少 n 次,但是不超过 m 次 |
Possessive 数量词 | |
---|
X?+ | X,一次或一次也没有 |
X*+ | X,零次或多次 |
X++ | X,一次或多次 |
X{n}+ | X,恰好 n 次 |
X{n,}+ | X,至少 n 次 |
X{n,m}+ | X,至少 n 次,但是不超过 m 次 |
Logical 运算符 | |
---|
XY | X 后跟 Y |
X|Y | X 或 Y |
(X) | X,作为捕获组 |
字符类运算符的优先级如下所示,按从最高到最低的顺序排列:
1 | 字面值转义 | /x |
---|
2 | 分组 | […] |
3 | 范围 | a-z |
4 | 并集 | [a-e][i-u] |
5 | 交集 | [a-z&&[aeiou]] |