Я использую Java ....регулярного выражения для класса CSS
.MainNav a:hover{ float:left; width:70px; height:65px; border-top: 2px Solid #F4E6CC; border-bottom: 2px Solid #805822; border-left: 2px Solid #F4E6CC; border-right: 2px Solid #805822; margin: 0px 0px 0px 0px; align:center; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; font-weight: bold; color: #FFFFFF; text-decoration: none; text-align: center; background:#C99349; background-image: url(../../images/hor_nav_bg.gif); background-repeat: repeat-X; padding:4px; clear:left; }
выше класс CSS я хочу регулярное выражение, что группа содержит значение, как
group1 = MainNav a:hover
group2 = { float:left; width:70px; height:65px; border-top: 2px Solid #F4E6CC; border-bottom: 2px Solid #805822; border-left: 2px Solid #F4E6CC; border-right: 2px Solid #805822; margin: 0px 0px 0px 0px; align:center; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; font-weight: bold; color: #FFFFFF; text-decoration: none; text-align: center; background:#C99349; background-image: url(../../images/hor_nav_bg.gif); background-repeat: repeat-X; padding:4px; clear:left; }
означает, что имя класса и другое - это определение, можете ли вы рассказать мне о регулярном выражении? Я немного путаюсь, как создать выражение для этого, чтобы я мог получить результат.
Вот мой код
package com.tufan.digite.Count;
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class GetAllCssFile {
public static void main(String args[]) throws IOException {
try {
FileInputStream fstream = new FileInputStream("D:/digite/work/digite/WEBUI/common/theme1/common.css"); // Get theobject of DataInputStream
DataInputStream dis = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(dis));
String strLine;
while ((strLine = br.readLine()) != null) {
Matcher matcher = Pattern.compile("([^}]^)({[^}]+})", Pattern.DOTALL | Pattern.MULTILINE).matcher(strLine);
if (matcher.find()) {
String selector = matcher.group(1);
String definition = matcher.group(2);
System.out.println("selector:" + selector + "definition:"+definition);
}
}
} catch (Exception e) {
//Do some exception handling here
}
}
}
он не будет давать какие-либо ответы
Осознайте, что '}' также может быть помещен в комментарий: 'p {/ *} */color: #FFFFFF; } ' –
1. ПОЖАЛУЙСТА, сделайте синтаксис своего кода. Добавление его как одной строки просто не будет. Я исправил это. 2. Не рекомендуется использовать краткую форму слов и сокращений в контексте вашего вопроса. –
На стороне примечания, вам не нужно использовать DataInputStream здесь (или практически где-либо еще, если на то пошло). Просто передайте FileInputStream непосредственно в InputStreamReader. –