编辑以帮助澄清请求:
我需要构建一个由三个元素组成的Java正则表达式模式;一个正则表达式字符串与一个整数变量连接在一起,该变量与正则表达式字符串的结尾连接在一起。
示例HTML:
<div class="page">1</div>
<div class="listItem"><a href="this-is/a-dummy-url-extension">
我开发的正则表达式:
int page = 1;
Pattern p = Pattern.compile("page\">" + page + "</div><div class=\"listItem\"><a href=\"(.*?)\">");
目标:使用正则表达式模式在使用以下方法逐行读取之后定位上面的HTML行。
http://docs.oracle.com/javase/tutorial/displayCode.html?code=http://docs.oracle.com/javase/tutorial/essential/regex/examples/MatcherDemo.java http://docs.oracle.com/javase/tutorial/networking/urls/readingWriting.html
现在它无效。
答案 0 :(得分:0)
你可以这样做:
String patternFormat = "slider\">%d</div><div class=\"listItem\"><a href=\"(.*?)\">";
pattern = Pattern.compile(String.format(patternFormat, 1));
pattern = Pattern.compile(String.format(patternFormat, 2));
答案 1 :(得分:0)
由我寂寞解决;我遇到的问题是那个;
我没有考虑close和Opening标签之间的空白区域。
第一个div标签位于单独的&#39;行上。比第二个。如果您一次读取一行并检查每行中的模式,那么构建跨越两行的模式并不起作用。 :)