我正在编写代码来过滤Java中缩小的css文件中的类和ID,但我仍然坚持为它编写正则表达式。我在regexr网站上写了它,我将它转换为Java,但它给了我字符而不是单词。 我的正则表达式/ java代码看起来像:
List<String> allMatches = new ArrayList<String>();
Matcher m = Pattern.compile("[a-zA-Z#-_](?![^{]*})")
.matcher(cssLine);
String line = "";
while (m.find()) {
allMatches.add(m.group());
}
当我打印数组中的所有项目时,我得到的结果如
a
v
a
d
输入如下:
/*HEADER*/header{height:180px;} header.fixed{position:fixed;top:0;right:0;height:70px;width:100%;display:block;z-index:1000;background-color:white;-webkit-transition:width2s,height0.2s;transition:width2s,height0,2s;} header.fixed.logo-background{background-image:url('../img/WEB_MOBILE_03.jpg');background-size:auto80%;background-position:auto5%;-webkit-transition:width2s,height0.2s;transition:width2s,height0,2s;}
有谁知道为什么这不仅仅给我一些像“header.fixed”这样的字符?
答案 0 :(得分:1)
在您的正则表达式中添加了 + ,现在它已([a-zA-Z#-_]+)(?![^{]*})
。
<强>输出强>
/*HEADER*/header
header.fixed
header.fixed.logo-background