需要一个正则表达式,能够正确获得下列字符串中每一对<td>...</td>之间的代码"<tr>
<td ..........................\r\n"+
" ...> data1</td>\r\n" +
<td ..........................\r\n"+
" ...> data2</td>\r\n" +
<td ..........................\r\n"+
" ...> data3</td>\r\n" +
<td ..........................\r\n"+
" ...> data4</td>\r\n" +
<td ..........................\r\n"+
" ...> data5</td>\r\n" +
<td ..........................\r\n"+
" ...> data6</td>\r\n" +
</tr>\r\n"
格式就是这样的,无法改变
需要读取每一个 <td>..</td>,包括数据和格式
求一个正则表达式
请各位大侠多多指教
<td ..........................\r\n"+
" ...> data1</td>\r\n" +
<td ..........................\r\n"+
" ...> data2</td>\r\n" +
<td ..........................\r\n"+
" ...> data3</td>\r\n" +
<td ..........................\r\n"+
" ...> data4</td>\r\n" +
<td ..........................\r\n"+
" ...> data5</td>\r\n" +
<td ..........................\r\n"+
" ...> data6</td>\r\n" +
</tr>\r\n"
格式就是这样的,无法改变
需要读取每一个 <td>..</td>,包括数据和格式
求一个正则表达式
请各位大侠多多指教
我的思路如下:
1.利用String类来读取第一对<>标签,包括之间的内容。
2.如果是<td ...>这种形式,就去读取第二对<>标签,如果是</td>则读取之间的内容。
1、用jquery获取所有td之间的值
2、用xml解析,获取所有td之间的值
3、正则^<td>*</td>$
Pattern p1 = Pattern.compile("(<td[.,\\s]*>)(.*)(</td>)");
Matcher m1 = p1.matcher("dfd<td ..........................\r\n ...> data1</td>");
while(m1.find()) {
System.out.println(m1.group(2));
}这个就可以了,匹配,然后用分组找出你想要的。
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
//需要一个正则表达式,能够正确获得下列字符串中每一对<td>...</td>之间的代码
String str = "<tr> " +
"<td ..........................\r\n...> data1</td>\r\n" +
"<td ..........................\r\n...> data2</td>\r\n" +
"<td ..........................\r\n ...> data3</td>\r\n" +
"<td ..........................\r\n...> data4</td>\r\n" +
"<td ..........................\r\n...> data5</td>\r\n" +
"<td ..........................\r\n...> data6</td>\r\n" +
"</tr>\r\n";
Pattern p = Pattern.compile("<td .*\\s*.*>(.*)</td>");
Matcher m = p.matcher(str);
while(m.find()) {
System.out.println(m.group());
}
}
}