开发者

Will this Java regex return a single result or multiple

If my HTML is:

<tr><td>....</td><hr></tr>
<tr><td>....</td><hr></tr>
<tr><td>....</td><hr></tr>
<tr><td>....</td><hr></tr>
<tr><td>....</td><hr></tr>
<tr><td>....</td><hr></tr>

If my regex is:

Patterp p = Pattern.compile("<tr>(.*)<hr><开发者_如何学编程;/tr>");

Should this get 1 result or all the individual rows?

Is there a way to force it to get all the rows and not just the entire html from the top <tr> to the last instance of <hr></tr> ?


Your regex is using .* which is greedy. Try using .*? instead. A greedy match will grab as much as it can before matching following tokens, so it will go find the last <hr> in your source text. A non-greedy match will grab as little as it can before matching the next token(s).

Then, see this answer for more information about parsing HTML with regular expressions.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜