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