输入正则表达式,再输入待判断项,无反应。
平台:eclipse4.16.0
系统:windows7旗舰版64位
public class Judge {
public static void main(String[] args) {
// TODO Auto-generated method stub
String regex="\\w+@\\w+(\\.\\w{2,3})*\\.\\w{2,3}";
String str1="aaa@";
String str2="aaaaa";
String str3="1111@111ffuu.dfg.com";
if(str1.matches(regex))
System.out.println(str1+"是合法邮箱地址");
if(str2.matches(regex))
System.out.println(str2+"是合法邮箱地址");
if(str3.matches(regex))
System.out.println(str3+"是合法邮箱地址");
else System.out.println("么有一个合法邮箱地址");
}
}
\\w+@\\w+(\\.\\w{2,3})*\\.\\w{2,3}
aaaa@163.com 111@ jan#163.com jjj8&111.com
第一部分是代码区,可以正常运行,结果正确。第二部分是在Regex Util里上栏写的
第三部分是在Regex Util 下栏写的,这部分没反应,看百度讲应该对格式正确的有加亮。
代码贴一下?
var 变量名 = new RegExp(/正则表达式/);
发现原因了,在java规则中,书写正则表达式时,元字符前需要加额外的转义字符“\”,而regex util工具中并不需要,所以将代码中的正则表达式直接拷贝到工具编辑栏后,实际上是不符合regex Util的编写规则,当然在测试栏输入测试字符串后,就没有预期的区分显示。
比如:“\w”符合regex Util,而加两个\就不符合。