String b = "<td width=\"200\">[a]</td><td>b</td><td>[c]</td>";
这样个字符串,我想把<td>和</td>之间有中括号包含的[]匹配,并且td可能有样式。
即结果是<td width=\"200\">[a]</td>和<td>[c]</td>两个,而不要<td>b</td>。
这样个字符串,我想把<td>和</td>之间有中括号包含的[]匹配,并且td可能有样式。
即结果是<td width=\"200\">[a]</td>和<td>[c]</td>两个,而不要<td>b</td>。
解决方案 »
- 组合和继承这两个概念有什么区别?
- 如何把别人选项卡中的东西弄到自己的选项框卡中
- gridbaglayout调的我头大.问2个问题,1.Jlabel标签的内容怎么靠最右方.2gridbaglayout能随便划分grid么?
- 一个sql2000的简单问题
- 13711613(黑龙江程序员联盟)欢迎加入,这里高手如云
- 为什么我监听不到COMBOX的事件?
- Java中如何实现“条件编译”?
- Jbuilder的问题
- 我是新手,遇到编译问题,请帮忙
- 怎样在javascript中获得当前页面里的applet中发生的事件,比如鼠标单击。在脚本中给applet设置onclick函数我试过了,根本不能触发。
- 如何阻塞键盘输入和鼠标输入
- serialVersionUID问题
while(m.find())
System.out.println(m.group());
import java.util.regex.*;public class Test48
{
public static void main(String... args) {
String b = " <td width=\"200\">[a] </td> <td>b </td><td>b </td><td>b </td> <td>[c] </td>";
//System.out.println(b.replace("(?<!\\[)b (?!\\])","")); Pattern p = Pattern.compile("(<td\\s?[^\\s]*?>\\[.*?\\]\\s*</td>)");
Matcher m = p.matcher(b);
while(m.find()) {
System.out.println(m.group(0));
}
}
}
String regex = "(?is)<td[^>]*>(?!(?:(?!\\[[^\\[\\]]*\\]).)*</td>)(?:(?!</?td\\b).)*</td>";
Matcher m=Pattern.compile(regex).matcher(b);
while(m.find())
{
System.out.println(m.group());
}