【一】概念
正则表达式:常用于判断语句中,用来检查某一字符串是否满足某一格式。
【二】规则
元字符 | 正则表达式的写法 | 意义 |
. | . | 代表任意一个字符 |
\d | \\d | 代表0~9的任何一个数字 |
\D | \\D | 代表任何一个非数字字符 |
\s | \\s | 代表空白字符,如‘\t’,’\n’ |
\S | \\S | 代表非空白字符 |
\w | \\w | 代表可用作标识符的字符,但不包括‘$’ |
\W | \\W | 代表不可用于标识符的字符 |
###在正则表达式中,“.”代表任何一个字符,因此如果想使用普通意义的点字符,必须使用转义字符“\”。
规则一:使用[]括起来若干个字符来表示一个元字符,该元字符可代表方括号中的任何一个字符。例如:reg=”[abc]4”,表示a4、b4、c4都是和正则表达式匹配的字符串。
规则二:^的使用,表示除什么之外的其余字符。例如:“[^456]”代表4、5、6之外的任何字符。
规则三:[a-r]代表a~r之间的任何一个字符。拓展[a-zA-Z]表示任何一个英文字符。
规则四:[a-e[g-z]]代表a~e,或g~z中的任何一个字符(并运算)。
[a-o&&[def]]代表字母d、e、f(交运算)。
[a-d&&[^bc]]代表字母a、d(差运算)。
常用的限定修饰符
限定修饰符 | 意义 |
? | 0次或1次 |
* | 0次或多次 |
+ | 1次或多次 |
{n} | 正好出现n次 |
{n,} | 至少出现n次 |
{n,m} | 出现n~m次 |
【三】例题
1、验证是否为合法的e-mail 99556@qq.com
public class demo2 {
public static void main(String[] args) {
String regex="\\w+@+\\w+(\\.\\w{2,3})+";
Scanner sc=new Scanner(System.in);
System.out.println("请输入您的E-mail");
String str=sc.nextLine();
if (str.matches(regex)) {
System.out.println("输入格式正确。。。");
}else{
System.out.println("格式有误。。。");
}
}
}
2、正则表达式验证合法手机号
分析:
移动号码段:134、135、136、137、138、139、147、150、151、152、157、158、159、182、183、187、188
联通号码段:130、131、132、136、145、185、186
电信号码段:133、153、180、189
public class demo2 {
public static void main(String[] args) {
String regex="[1][3,4,5,8]{1}[0-9]{9}";
Scanner sc=new Scanner(System.in);
System.out.println("请输入您的手机号码");
String str=sc.nextLine();
if (str.matches(regex)) {
System.out.println("输入格式正确。。。");
}else{
System.out.println("格式有误。。。");
}
}
}
日常鸡汤:你和大神之间只差几个夜晚。。。