我正在解析文件的每一行(XML文件),我需要找到path="this_is_my_path"
。在此之后,我需要在\"中提取什么。我需要this_is_my_path
。
这就是我正在做的事情:
String pattern = ".*path=\"(.*?)\"";
Pattern p = Pattern.compile(pattern);
Matcher m = p.matcher(the_text_file);
while (m.find()) {
System.out.println(m.group().trim());
}
运行之后,我得到了这个:
path="path_to_file"
test="ui_test" path="path_to_other_file"
.....
我应该打印这个:
path_to_file
path_to_other_file
path_to_other_fileX
path_to_other_fileW
答案 0 :(得分:3)
如果您需要使用正则表达式,请尝试使用:
(?<=path=\")(.*?)(?=\")
或者你可以使用你的正则表达式,但在begenning时没有.*
,因为它也匹配同一行中path=
之前的任何内容。然后按组1获得价值。
答案 1 :(得分:2)
为什么重新发明轮子?除非这是一个挑战或什么?
http://www.mkyong.com/java/how-to-read-xml-file-in-java-dom-parser/