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

2025-03-04 12:56:21
推荐回答(4个)
回答1:

如果你需要取的字符串里并不包含其它标签,
可以像下面这样做。
用[^<>]来否定

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

Pattern pattern = Pattern.compile("()([^<]+?)(


)");
Matcher matcher = pattern
.matcher("er你说什么也学测试


");

while (matcher.find()) {
System.out.println(matcher.group(2));
}

回答2:

唉,正则表达式学得不多,你可以把结果先搜出来,然后用replace替换
代码:
public class ClientApp {

public static void main(String[] args)
{
Pattern pattern = Pattern
.compile("()(.+?)(


)");
Matcher matcher = pattern
.matcher("er你说什么也学测试


");

while (matcher.find()) {
System.out.println(matcher.group(2));
String temp = matcher.group(2).toString();
temp = temp.replaceAll("", "");
System.out.println("temp:"+temp);
}

}
}

回答3:

只要不将不需要的标记出来就行了···
也就是说不要将后面不需要使用的放在括号中。
括号用于分组和标记。
所谓标记就是用于在后面使用。

回答4:

\.*(\<\/table\>) 用这个搜索出来,然后replace进行前后字符串替换