我遇到了使用jsoup的问题.我无法匹配<div id="shout_132684">那些正在改变的数字.我应该如何匹配?
Elements content = doc.select("div:matches(id=\"shout_.+?\")");
Run Code Online (Sandbox Code Playgroud)
不行.
d0x*_*d0x 12
您可以使用startswith CSS选择器^=.它由Jsoups支持.select(...).
你可以这样做:
doc.select("div[id^=shout]");
Run Code Online (Sandbox Code Playgroud)
这是一个完整的例子:
public static void main(String[] args) {
Document parse = Jsoup.parse("<div id=\"shout_23\"/>" +
"<div id=\"shout_42\"/>" +
"<div id=\"notValidId\"/>" +
"<div id=\"shout_1337\"/>");
Elements divs = parse.select("div[id^=shout");
for (Element element : divs) {
System.out.println(element);
}
}
Run Code Online (Sandbox Code Playgroud)
它将打印:
<div id="shout_23"></div>
<div id="shout_42"></div>
<div id="shout_1337"></div>
Run Code Online (Sandbox Code Playgroud)
小智 5
要获得更准确的解析,您仍然可以使用正则表达式:
Elements content = doc.select("div[id~=(shout_)[0-9]+]");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8633 次 |
| 最近记录: |