String 字符串(三)正则表达式

【一】概念

正则表达式:常用于判断语句中,用来检查某一字符串是否满足某一格式。

【二】规则

元字符

正则表达式的写法

意义

.

.

代表任意一个字符

\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 [email protected]

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、正则表达式验证合法手机号

分析:

移动号码段:134135136137138139147150151152157158159182183187188
联通号码段:130131132136145185186
电信号码段:133153180189

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("格式有误。。。");
        }
    }
}
 

日常鸡汤:你和大神之间只差几个夜晚。。。

猜你喜欢

转载自blog.csdn.net/The_Best_Hacker/article/details/81675732