问题描述
求一正则表达式,字符内容是这样的String s = "<img style="fsdsfdslfs"/><div style="sfafsadfsa"/>";需要匹配所有的有style标签,但是不匹配img标签里面的style标签。应该如何写呢?Pattern pattern = Pattern.compile("?");Matcher matcher = pattern.matcher(s);while(matcher.find()){}
解决方案
(?!<img)这个是 负向断言,前面没有img.*?最小贪婪匹配String s = "<img style="fsdsfdslfs"/><div style="sfafsadfsa"/><div style="sfafsadfsa"/>"; Pattern pattern = Pattern.compile("(?!<img)<.*?style.*?/>"); Matcher m = pattern.matcher(s); while(m.find()){ System.out.println(m.group()); }
时间: 2024-10-23 06:56:20