给出字符串:
<td>4</td><td>punz of damage</td><td><img src='images/no.png'></img></td><td>May 26, 2015 10:28:12 PM</td><td>30</td><td>Nov 26, 2017 10:28:12 PM</td>
我希望能够仅返回第二个元素之间的值。
我将如何做到这一点?到目前为止,我有以下内容:
private static Pattern p = Pattern.compile("<td>(.+?)</td>");
public static String getName(String in) {
Matcher m = p.matcher(in);
if (m.matches()) {
return m.group(1);
} else {
return null;
}
}
答案 0 :(得分:1)
在循环中使用matches
而不是private static Pattern p = Pattern.compile("<td>(.+?)</td>");
public static String getName(String in) {
Matcher m = p.matcher(in);
for (i=0; i<1 && m.find(); i++);
if (i==0) {
return null;
} else {
return m.group(1);
}
}
并保留一个计数器:
import base
import functions
class DietPizza(base.BasePizza):
@staticmethod
def get_ingredients():
return functions.istrue()
警告:使用正则表达式解析HTML / XML可能容易出错。