今天想用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
有更好的方法歡迎斧正