目录
一、正则表达式的概念
二、正则表达式的基本书写符号
1、基本书写符号:
2、常用限定符:限定符将可选数量的数据添加到正则表达式
3、匹配字符集:
4、分组构造:
三:常用案例
一、正则表达式的概念
1、什么是正则表达式:正则表达式是由普通字符(如英文字母)以及特殊字符(也成为元字符)组成的文字模式。该模式对文本查找时需要匹配的一个或多个字符串描述,给出一个匹配模板。
2、正则表达式的优点:正则表达式可以大大简化文本识别工作,现已超出了某种语言或某个系统的局限,成为被人们广为使用的工具。
二、正则表达式的基本书写符号
1、基本书写符号:
代码语言:javascript复制public class Test1 {
public static void main(String[] args) {
//1、符号[]
//只能是6位数字
String s = "132a23";
// 定义正则表达式
String reg = "[0-9]{6}";
// 验证表达式
System.out.println(s.matches(reg));
//2、[^ ]
//电话号码:11位-1
s = "12528023850";
reg = "1[^012]\d{9}";
System.out.println(s.matches(reg));
//3、|
//验证一年的12个月:
String s = "12";
String a = "[0-9]|1[0-2]";
System.out.println(s.matches(a));
//4、()
//邮箱:837786260 @ qq . com|cn
s = "837786260@ww.com";
reg = "[0-9a-zA-Z]{5,15}@(qq|126|163).(com|cn)";
System.out.println(s.matches(reg));
//5、-
//最少8位的字母
s = "1wertyuil";
reg = "[a-zA-Z]{8,}";
System.out.println(s.matches(reg));
}
}
2、常用限定符:限定符将可选数量的数据添加到正则表达式
代码语言:javascript复制public class Test {
public static void main(String[] args) {
//1、*
//只能输入数字
String s = "3";
String a = "[0-9]*";
System.out.println(s.matches(a));
//2、
//只能输入由26个英文字母组成的字符串:
String s = "zxcvbn";
String a = "[a-zA-Z] ";
System.out.println(s.matches(a));
//3、{n}
//只能输入n位的数字:
String s = "323455";
String a = "[0-9]{6}";
System.out.println(s.matches(a));
//4、{n,}
//只能输入至少n位的数字:
String s = "23456";
String a = "[0-9]{3,}";
System.out.println(s.matches(a));
//5、{n,m}
//只能输入n~m位的数字:
String s = "234567";
String a = "[0-9]{3,6}";
System.out.println(s.matches(a));
//6、$
//整数或者小数:
String s = "1.1234567";
String reg = "^[0-9]*[1-9][0-9]*$|[0-9]{1,999999999}.[0-9]{1,9999999999999}";
System.out.println(s.matches(reg));
}
}
3、匹配字符集:
代码语言:javascript复制含义:匹配字符集是预定义的用于正则表达式中的符号集。如果字符串与字符集中的任何一个字符相匹配,它就会找到这个匹配项。
public class Test {
public static void main(String[] args) {
//1、d
//验证电话号码:
String s = "18673507143";
String a = "1[^02]\d{9}";
System.out.println(s.matches(a));
4、分组构造:
三:常用案例
代码语言:javascript复制//只能输入数字
[0-9]*
//只能输入n位的数字
d{n}
//只能输入至少n位的数字
d{n,}
//只能输入n~m位的数字
d{n,m}
//只能输入0和非0开头的数字
(0|[1-9][0-9]*)
//只能输入有两位小数的正实数
[0-9] (.[0-9]{2})?
//只能输入有1~3位小数的正实数
[0-9] (\.[0-9]{1,3})?
//只能输入非0的正整数
?[1-9][0-9]*
//只能输入非0的负整数
-[1-9][0-9]*
//只能输入长度为3的字符
.{3}
//只能输入由26个英文字母组成的字符串
[a-zA-Z]
//只能输入由26个大写英文字母组成的字符串
[A-Z]
//只能输入由26个小写英文字母组成的字符串
[a-z]
//只能输入由数字和26个英文字母组成的字符串
[a-zA-Z0-9]
//只能输入由数字和26个英文字母或者下划线组成的字符串
w
//整数
“ ^-?d $”
//英数字加下划线串:
“^w $”
//E-mail地址
“^[w-] (.[w-] )*@[w-] (.[w-] ) $”
//验证网站URL
“^[a-zA-Z] ://(w (-w )*)(.(w (-w )*))*(?s*)?$”