现在有一文本:<script language="javascript">
等待导航栏加载完成
function waitNavigation(){
}
</script>
<tr class="tableTitleRight2" >ª</tr>
<td class="tableTitleRight2" > </td>
<option value="<%=ProductParameters.DELAY_UNIT_NOW%>" >立即</option>
<title>基本信息修改</title>
我现在想匹配所有的标签内容(除了script标签以外)我想要的匹配结果应该是:ª
 
立即
基本信息修改
但是我用表达式 >[^<|^>]*</结果是:等待导航栏加载完成
function waitNavigation(){
}
ª
 
立即
基本信息修改大家有什么办法?
等待导航栏加载完成
function waitNavigation(){
}
</script>
<tr class="tableTitleRight2" >ª</tr>
<td class="tableTitleRight2" > </td>
<option value="<%=ProductParameters.DELAY_UNIT_NOW%>" >立即</option>
<title>基本信息修改</title>
我现在想匹配所有的标签内容(除了script标签以外)我想要的匹配结果应该是:ª
 
立即
基本信息修改
但是我用表达式 >[^<|^>]*</结果是:等待导航栏加载完成
function waitNavigation(){
}
ª
 
立即
基本信息修改大家有什么办法?
String str = "<script language=\"javascript\"> "+
"等待导航栏加载完成 "+
"function waitNavigation(){ "+
"} "+
"</script> "+
"<tr class=\"tableTitleRight2\" >ª </tr> "+
"<td class=\"tableTitleRight2\" >  </td> "+
"<option value=\" <%=ProductParameters.DELAY_UNIT_NOW%>\" >立即 </option> "+
"<title>基本信息修改 </title><a href='#' style='border:solid 1px red'>测试链接</a>"+
"<script>var str = \"js里面的字符串\";</script>";
Pattern p = Pattern.compile("<(\\w+)(?:((?!>)|(?<=%)).)*>(.+?)</\\1>(?<!</script>)");
Matcher m = p.matcher(str);
while (m.find()) {
System.out.println(m.group(3));
}
}结果:ª
 
立即
基本信息修改
测试链接