java 正则表达式 提取两个字符串中的字符串

如果你需要取的字符串里并不包含其它标签,可以像下面这样做。用[^]来否定 如果还需要包含其它标签,就不可以了 Pattern pattern = Pattern.compile("()([^
java 正则表达式 提取两个字符串中的字符串
如果你需要取的字符串里并不包含其它标签,
可以像下面这样做。
用[^<>]来否定

如果还需要包含其它标签,就不可以了

Pattern pattern = Pattern.compile("(<td class='row[0-9]'>)([^<]+?)(</table></p><hr>)");
Matcher matcher = pattern
.matcher("er<td class='row1'>你说什么<td class='row1'>也学<td class='row1'>测试</table></p><hr>");

while (matcher.find()) {
System.out.println(matcher.group(2));
}2009-10-10
唉,正则表达式学得不多,你可以把结果先搜出来,然后用replace替换
代码:
public class ClientApp {

public static void main(String[] args)
{
Pattern pattern = Pattern
.compile("(<td class='row[0-9]'>)(.+?)(</table></p><hr>)");
Matcher matcher = pattern
.matcher("er<td class='row1'>你说什么<td class='row1'>也学<td class='row1'>测试</table></p><hr>");

while (matcher.find()) {
System.out.println(matcher.group(2));
String temp = matcher.group(2).toString();
temp = temp.replaceAll("<td class='row1'>", "");
System.out.println("temp:"+temp);
}

}
}2009-10-09
只要不将不需要的标记出来就行了···
也就是说不要将后面不需要使用的放在括号中。
括号用于分组和标记。
所谓标记就是用于在后面使用。2009-10-09
\<td class\=\'row1\'\>.*(\<\/table\>) 用这个搜索出来,然后replace进行前后字符串替换2009-10-08
mengvlog 阅读 7 次 更新于 2025-07-19 13:28:21 我来答关注问题0
檬味博客在线解答立即免费咨询

Java相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部