正则表达式通常被用于判断语句中,用来检查某一字符串是否满足某一格式。
为了检查输入的数据是否满足某种格式,从JDK1.4开始可以使用String
类的matches()
方法进行判断。语法如下所示:
boolean matches(String regex)
- regex:指定的正则表达式
- 返回值:返回boolean类型
该方法用于告知当前字符串是否匹配参数regex
指定的正则表达式。返回值是boolean
类型,如果当前字符串与正则表达式匹配,则该方法返回true
,否则返回false
。
正则表达式是由一些含有特殊意义的字符组成的字符串,这些含有特殊意义的字符称为元字符,下表列出了正则表达式的部分元字符。

在使用正则表达式时,如果需要某一类型的元字符多次输出,逐个输入就相当麻烦,这时可以使用正则表达式的限定元字符来重复次数。下表列出了常用限定符及其含义。

在正则表达式中还可以用方括号把多个字符括起来,方括号中各种正则表达式代表不同的含义。下表列出了方括号中元字符及其含义。

注意:使用普通意义的点字符“.”,则必须使用转义字符“\”。
下面例子判断合法邮箱:
public class Judge {
public static void main(String[] args) {
// 定义要匹配E_mail地址的正则表达式
String regex = "\\w+@\\w+(\\.\\w{2,3})*\\.\\w{2,3}";
String str1 = "aaa@"; // 定义要进行验证的字符串
String str2 = "aaaaa";
String str3 = "1111@111ffyu.dfg.com";
if (str1.matches(regex)) { // 判断字符串变量是否与正则表达式匹配
System.out.println(str1 + "是一个合法的E-mail地址格式");
}
if (str2.matches(regex)) {
System.out.println(str2 + "是一个合法的E-mail地址格式");
}
if (str3.matches(regex)) {
System.out.println(str3 + "是一个合法的E-mail地址格式");
}
}
}
正则表达式分析:
通常情况下E-mail 的格式为X@X.com.cn
。字符X表示任意的一个或多个字符,@为E-mail地址中的特有符号,符号@后还有一个或多个字符,之后是字符.com
,也可能后面还有类似.cn
的标记。总结E-mail地址的这些特点,因此可以书写正则表达式\w+@\\w+(\\.\\w {2,3})*\\.\\w{2,3}
来匹配E-mail地址。字符集\\w
匹配任意字符,符号+
表示字符可以出现1次或多次,表达式(\\.\\w{2,3})*
表示形如.com
格式的字符串可以出现0次或多次。而最后的表达式\\.\\w{2,3}
用于匹配E-mail地址中的结尾字符,如.com
。
网友评论