【一】概念
正则表达式:常用于判断语句中,用来检查某一字符串是否满足某一格式。
【二】规则
元字符 |
正则表达式的写法 |
意义 |
. |
. |
代表任意一个字符 |
\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、正则表达式验证合法手机号
分析:
移动号码段: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("格式有误。。。");
}
}
}
日常鸡汤:你和大神之间只差几个夜晚。。。