当前位置:首页 » 编程语言 » java正则html标签

java正则html标签

发布时间: 2023-10-17 16:43:40

java正则表达式去除html标签保留指定标签

String reg = "<\\/?html[^>]*>";
String html = "";
html.replaceAll(reg,"");

❷ 如何使用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标签

过滤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标签中的内容

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标签

//我随便写了一个工具类,getRegexData就是那个方法,你可以根据你的需求稍加改动即可因为我使用的
//URL而不是HttpClient,所以数据是全部获取过来了,你自己改改吧!不懂再问我
packagecom.wdy.util;

importjava.io.IOException;
importjava.io.InputStream;
importjava.net.URL;
importjava.util.ArrayList;
importjava.util.List;
importjava.util.regex.Matcher;
importjava.util.regex.Pattern;
/**
*工具类
*@authorWDY
*
*/
publicclassTool{
publicstaticvoidmain(String[]args){
System.out.println(getRegexData("<img[]*src.*?jpg"","<imgsrc="img1.jpg"><imgsrc="img2.jpg""));


try{
URLurl=newURL("http://www..com");
StringstringData=getStringFromInputStream(url.openStream());
System.out.println(stringData+"----------------------------------------");
System.out.println();

System.out.println(getRegexData("http://.{6,70}?(png|jpg)",stringData));
}catch(IOExceptione){
e.printStackTrace();
}
}
/**
*给一个正则表达式,和数据,将正则匹配到的数据全数取出来
*
*@paramregex
*@paramdata
*@returnList<String>
*/
publicstaticList<String>getRegexData(Stringregex,Stringdata){
Patternpattern=Pattern.compile(regex);
Matchermatcher=pattern.matcher(data);
List<String>resultList=newArrayList<String>();
intindex=0;//搜索的位置
Stringtemp="";
/*从指定位置查找,如果找到了,就继续执行下面的代码*/
while(matcher.find(index)){
temp=matcher.group();//将匹配到的数据取出来放到集合中去
resultList.add(temp);
index+=temp.length();//将查找位置放到此时找到的数据后面
System.out.println(index);
}
returnresultList;
}
/**
*将输入流装成字符串
*@paramis
*@return
*/
(InputStreamis)throwsIOException{

StringBuildersbl=newStringBuilder();
byte[]buff=newbyte[1024*8];
intlen;
inti=0;
while((len=is.read(buff))!=-1){
sbl.append(newString(buff,0,len,"utf-8"));
System.out.println(i++);
}
System.out.println(sbl.length());
returnsbl.toString();
}
}

❻ 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里面的<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));
}
}
}

热点内容
如何分辨普拉多的配置 发布:2025-02-01 04:11:45 浏览:680
linuxc文件删除 发布:2025-02-01 04:11:33 浏览:217
c语言稀疏矩阵转置矩阵 发布:2025-02-01 03:47:57 浏览:531
坦克世界挂机脚本有哪些 发布:2025-02-01 03:07:41 浏览:134
串口编程at 发布:2025-02-01 03:06:05 浏览:909
合资汽车配置有什么 发布:2025-02-01 02:56:07 浏览:79
wifi共享精灵源码 发布:2025-02-01 02:40:15 浏览:973
java软件怎么安装 发布:2025-02-01 02:40:09 浏览:549
河北税务局电子密码是什么 发布:2025-02-01 02:40:07 浏览:835
检查服务器设置是什么意思 发布:2025-02-01 02:31:26 浏览:185