正则表达式语法规则
* A: 正则表达式语法规则
* a: 字符
* x 代表的是字符x
* \\ 代表的是反斜线字符'\'
* \t 代表的是制表符
* \n 代表的是换行符
* \r 代表的是回车符
* b: 字符类
* [abc] a、b 或 c(简单类)
* [^abc] 任何字符,除了 a、b 或 c(否定)
* [a-zA-Z] a到 z 或 A到 Z,两头的字母包括在内(范围)
* [0-9] 0到9的字符都包括
* [a-zA-Z_0-9] 代表的字母或者数字或者下划线(即单词字符)
* c: 预定义字符类
* . 任何字符(与行结束符可能匹配也可能不匹配)
* \d 数字:[0-9]
* \D 非数字: [^0-9]
* \s 空白字符:[ \t\n\x0B\f\r]
* \S 非空白字符:[^\s]
* \w 单词字符:[a-zA-Z_0-9]
* \W 非单词字符:[^\w]
* d: 数量词
* X? X,一次或一次也没有
* X* X,零次或多次
* X+ X,一次或多次
* X{n} X,恰好 n 次
* X{n,} X,至少 n 次
* X{n,m} X,至少 n 次,但是不超过 m 次
正则表达式练习校验qq号是否合法
需求:
0不能开头
必须都是数字
要求必须是5-15位
案例代码:
/*
0不能开头
必须都是数字
要求必须是5-15位
*/
String qq = "111000";
String regex = "[1-9][0-9]{4,14}";
System.out.println(qq.matches(regex));
正则表达式练习判断字符串中间的字符是否是元音
需求:
什么是元音:
aeiou
public static boolean regexMethod_01(String s) {
// String str = "cof";
return s.matches("[a-zA-Z][aeiouAEIOU][a-zA-Z]");
}
正则表达式切割练习
需求:
切割字符串"aa,bb,cc";
切割字符串"-1 99 4 23";
切割字符串"-1 99 4 23";
案例代码:
public static void regexMethod_02() {
/*
* 切割字符串"aa,bb,cc"; 切割字符串"-1 99 4 23"; 切割字符串"-1 99 4 23";
*/
// String s1 = "aa,bb,cc";
// String s1 = "-1 99 4 23";
String s1 = "-1 99 4 23";
// String[] arr = s1.split(",");
// String[] arr = s1.split(" ");
String[] arr = s1.split(" +");
System.out.println(Arrays.toString(arr));
}
匹配正确的数字:
匹配规则:
* 匹配正整数:”\\d+”
* 匹配正小数:”\\d+\\.\\d+”
* 匹配负整数:”-\\d+”
* 匹配负小数:”-\\d+\\.\\d+”
* 匹配保留两位小数的正数:”\\d+\\.\\d{2}”
* 匹配保留1-3位小数的正数:”\\d+\\.\\d{1,3}”
* A: 正则表达式语法规则
* a: 字符
* x 代表的是字符x
* \\ 代表的是反斜线字符'\'
* \t 代表的是制表符
* \n 代表的是换行符
* \r 代表的是回车符
* b: 字符类
* [abc] a、b 或 c(简单类)
* [^abc] 任何字符,除了 a、b 或 c(否定)
* [a-zA-Z] a到 z 或 A到 Z,两头的字母包括在内(范围)
* [0-9] 0到9的字符都包括
* [a-zA-Z_0-9] 代表的字母或者数字或者下划线(即单词字符)
* c: 预定义字符类
* . 任何字符(与行结束符可能匹配也可能不匹配)
* \d 数字:[0-9]
* \D 非数字: [^0-9]
* \s 空白字符:[ \t\n\x0B\f\r]
* \S 非空白字符:[^\s]
* \w 单词字符:[a-zA-Z_0-9]
* \W 非单词字符:[^\w]
* d: 数量词
* X? X,一次或一次也没有
* X* X,零次或多次
* X+ X,一次或多次
* X{n} X,恰好 n 次
* X{n,} X,至少 n 次
* X{n,m} X,至少 n 次,但是不超过 m 次
正则表达式练习校验qq号是否合法
需求:
0不能开头
必须都是数字
要求必须是5-15位
案例代码:
/*
0不能开头
必须都是数字
要求必须是5-15位
*/
String qq = "111000";
String regex = "[1-9][0-9]{4,14}";
System.out.println(qq.matches(regex));
正则表达式练习判断字符串中间的字符是否是元音
需求:
什么是元音:
aeiou
public static boolean regexMethod_01(String s) {
// String str = "cof";
return s.matches("[a-zA-Z][aeiouAEIOU][a-zA-Z]");
}
正则表达式切割练习
需求:
切割字符串"aa,bb,cc";
切割字符串"-1 99 4 23";
切割字符串"-1 99 4 23";
案例代码:
public static void regexMethod_02() {
/*
* 切割字符串"aa,bb,cc"; 切割字符串"-1 99 4 23"; 切割字符串"-1 99 4 23";
*/
// String s1 = "aa,bb,cc";
// String s1 = "-1 99 4 23";
String s1 = "-1 99 4 23";
// String[] arr = s1.split(",");
// String[] arr = s1.split(" ");
String[] arr = s1.split(" +");
System.out.println(Arrays.toString(arr));
}
匹配正确的数字:
匹配规则:
* 匹配正整数:”\\d+”
* 匹配正小数:”\\d+\\.\\d+”
* 匹配负整数:”-\\d+”
* 匹配负小数:”-\\d+\\.\\d+”
* 匹配保留两位小数的正数:”\\d+\\.\\d{2}”
* 匹配保留1-3位小数的正数:”\\d+\\.\\d{1,3}”