java正則html
㈠ 【java作業向】正則表達式過濾HTML標簽
過濾HTML標簽的Java正則表達式 (?s)<.*?/?.*?>
按照你的要求編寫的用正則表達式過濾HTML標簽的Java程序如下
public class AA {
public String tagFilter(String s){
String regex = "(?s)<.*?/?.*?>";
String ss=s.replaceAll(regex,"");
return ss;
}
public static void main(String[] args) {
String s="<div class="guid time online">測試 abc</div><span data-url="games/details/" class="guid done">你好13548</span><a href="games/details/" class="guid">15個字母Abc</a><i class="icon-guid"/>";
String result=new AA().tagFilter(s);
System.out.println(result);
}
}
㈡ java 正則表達式 匹配html標簽段
<head>
<script language="javascript">
var G=document.getElementById;
function window_load(){
var strHTML = ""; // document.body.innerHTML;
strHTML += "<html>";
strHTML += " <head>";
strHTML += " </head>";
strHTML += " <body>";
strHTML += " <font color='red'>test1</font><br />";
strHTML += " <font size='18'>test2</font><br />";
strHTML += " <font >test3</font><br />";
strHTML += " <font></font>";
strHTML += " </body>";
strHTML += "</html>";
var reg = /<(font)\s*[^<>]*>[^<>]*<\/\1\s*>/ig;
var aryResult = strHTML.match(reg);
alert("用match方法匹配 ,結果:\n\n" + aryResult.join("\n"));
}
</script>
</head>
<body onload="window_load();"> \
<!--
<font color='red'>test1</font><br />
<font size='18'>test2</font><br />
<font >test3</font><br />
<font></font>
-->
</body>
</html>
㈢ java正則表達式獲取任意兩個html標簽中的內容
import java.util.regex.*;
public class RegexExample {
public static void main(String []args) {
String content=獲取的網頁內容;
Pattern p=Pattern.compile("<div class=\"fliter_px\">([\\s\\S]+?)<div class=\"search_page\">");
Matcher m=p.matcher(content);
if(m.find()){
System.out.println(m.group(1));
}
}
}
㈣ java 如何利用正則表達式只保留html裡面的<p></p>標簽裡面的內容
正則表達式:<p.*?>(.*?)</p>
group(1)為正文內容。
輸出時加上\n就行了
import java.util.regex.*;
public class Test{
public static void main(String[] args){
String str="<p style=\"font-size:1.3em;font-weight:bold\">No page with that title exists.</p> ";
String regex="<p.*?>(.*?)</p> ";
Pattern p =Pattern.compile(regex);
Matcher m=p.matcher(str);
while(m.find()){
System.out.println(m.group(1));
}
}
}
㈤ 如何使用java的正則表達式提取html標簽
importjava.util.ArrayList;
importjava.util.Iterator;
importjava.util.List;
importjava.util.regex.Matcher;
importjava.util.regex.Pattern;
publicclassTest{
publicstaticvoidmain(Stringargs[]){
Stringhtml="<title>ABCD</title>gsdggas<title></title>jkll<title>005</title>";
//簡單示例,相當於Stringhtml=getHtml(StringurlString);
ListresultList=getContext(html);
for(Iteratoriterator=resultList.iterator();iterator.hasNext();){
Stringcontext=(String)iterator.next();
System.out.println(context);
}
}
/**
*提取"<title>XXXX</title>"中的文字XXXX
*@paramhtml要解析的html文檔內容
*@return解析結果,可以多次匹配,每次匹配的結果按文檔中出現的先後順序添加進結果List
*/
publicstaticListgetContext(Stringhtml){
ListresultList=newArrayList();
Patternp=Pattern.compile("<title>([^</title>]*)");//匹配<title>開頭,</title>結尾的文檔
Matcherm=p.matcher(html);//開始編譯
while(m.find()){
resultList.add(m.group(1));//獲取被匹配的部分
}
returnresultList;
}
}
㈥ JAVA正則表達式解析HTML字元串
1.首先提取<R_Data> 之間的內容. 我覺得不需要用 正則.
int start= str.indexOf(">",0);//返回 字元串 <R_Date> ">" 的索引 其中str 是整個字元串
int end =str.indexOf("<",start); //返回 </R_Data> 中"<" 的索引.
String s=subString(str,start,end); 這樣就可以去掉 這對標簽了. //s 是去掉標簽之後的字元串
2. String[] sa=s.split("|"); 用 | 把這個字元串分割開. 結果返回的是一個 字元串數組.
例如 :0005,實驗室0,0,0
1239,實驗室B-測試點1,50,150
3.想要 這個樣子的數組 String[] str={「0005","實驗室0","0","0"} 可以將 上述sa 數組中的 每個元素繼續分割.
如 String[] ss = sa[0].split(",",2)
思路就是這樣 可能有一些細節上的問題. 遇到了問題 再 追問