Java正则表达式全局匹配


今天想用Java的正则在字符串中匹配特定内容,但是当我代码写好运行后却发现正则表达式并没有起作用

试了很多方法,也去Js里试了正则表达式可以走通,就是Java不行

很纳闷 (;′⌒`)

 

Java里正则貌似不能像Js那样用【/g】全局匹配

经过一番折腾,最后还是鼓捣出来了

Java 版

    /**
     * 全局匹配正则表达式
     * Author 散人
     * @param str 字符串
     * @param regex 正则表达式
     * @return
     */
    public static boolean regex(String str, String regex) {
        Pattern p = Pattern.compile(regex);
        Matcher m = p.matcher(str);
        while (m.find()) {
            return true;
        }
        return false;
    }

Js 版

    var regex = /[^0-9]/; // 匹配不在0-9范围内的字符,全局在最后加 g
    var str = '123';
    console.log(regex.test(str)); // false

 有更好的方法欢迎斧正


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM