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