关于正则表达式工具Regex Util的使用

输入正则表达式,再输入待判断项,无反应。
平台: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 下栏写的,这部分没反应,看百度讲应该对格式正确的有加亮。

代码贴一下?

  • 这篇博客: 正则——匹配字符串中字符组合模式中的 1.通过调用RegExp对象的构造函数来创建: 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • var 变量名 = new RegExp(/正则表达式/);

发现原因了,在java规则中,书写正则表达式时,元字符前需要加额外的转义字符“\”,而regex util工具中并不需要,所以将代码中的正则表达式直接拷贝到工具编辑栏后,实际上是不符合regex Util的编写规则,当然在测试栏输入测试字符串后,就没有预期的区分显示。
比如:“\w”符合regex Util,而加两个\就不符合。