0 0

正则表达式 获取标签内的文字 如<div>文字</div>20

<div class="hdwiki_tmml"><a class=" &nbsp;FCK__AnchorC" name="1">是大家是否</a></div>

<div class="hdwiki_tmml"><a name="2">士大夫士大夫</a></div>


我想要的结果是:

1.是文字内容
是大家是否

士大夫士大夫


2。是name的值

1
2



麻烦帮忙解决下 java的后台

问题补充:
飞雪无情 写道
正则好久不用手都生了,不过终于把代码写出来了。测试通过。
public static void main(String[] args) {
		String source="<div class=\"hdwiki_tmml\"><a class=\" &nbsp;FCK__AnchorC\" name=\"1\">是大家是否</a></div><div class=\"hdwiki_tmml\"><a name=\"2\">士大夫士大夫</a></div> ";
		StringBuilder result=new StringBuilder();
		System.out.println("=======开始匹配文字内容========");
		String patternStrs="(<div class=\"hdwiki_tmml\"><a.+?>)(.+?)(</a></div>)";
		Pattern pattern=Pattern.compile(patternStrs);
		Matcher matcher=pattern.matcher(source);
		while(matcher.find()){
			result.append(matcher.group(2)+"\n");
		}
		System.out.println(result.toString());
		
		System.out.println("=======开始匹配name属性值========");
		String patternName="(<div class=\"hdwiki_tmml\"><a.+?)name=\"(.+?)\">(.+?</a></div>)";
		pattern=Pattern.compile(patternName);
		matcher=pattern.matcher(source);
		result=result.delete(0, result.length());
		while(matcher.find()){
			result.append(matcher.group(2)+"\n");
		}
		System.out.println(result.toString());
	}


全当复习一次了!



谢谢 牛人啦 我不会正则表达式 呵呵
2010年8月14日 22:16

4个答案 按时间排序 按投票排序

0 0

采纳的答案

引用
http://www.oschina.net/p/jsoup

oschina推荐,不知道好不好用

2010年8月14日 22:24
0 0

看了我上面写的那个分开的正则表达式,就是一个匹配内容,一个匹配属性值的。那么下面这个用一个正则表达式匹配他们两个你就好理解了!

public static void main(String[] args) {
		String source="<div class=\"hdwiki_tmml\"><a class=\" &nbsp;FCK__AnchorC\" name=\"1\">是大家是否</a></div><div class=\"hdwiki_tmml\"><a name=\"2\">士大夫士大夫</a></div> ";
		StringBuilder resultComment=new StringBuilder();
		StringBuilder resultName=new StringBuilder();
		System.out.println("=======开始匹配========");
		String patternStrs="(<div class=\"hdwiki_tmml\"><a.+?)name=\"(.+?)\">(.+?)(</a></div>)";
		Pattern pattern=Pattern.compile(patternStrs);
		Matcher matcher=pattern.matcher(source);
		while(matcher.find()){
			resultName.append(matcher.group(2)+"\n");
			resultComment.append(matcher.group(3)+"\n");
		}
		System.out.println("=======标签内内容=======");
		System.out.println(resultComment.toString());
		System.out.println("=======name属性值=======");
		System.out.println(resultName.toString());
		
	}



一个正则表达式搞定,节省了代码!

2010年8月15日 09:58
0 0

没劲

		var result1=[],result2=[]
		var s='<div class="hdwiki_tmml"><a class=" &nbsp;FCK__AnchorC" name="1">是大家是否</a></div>  <div class="hdwiki_tmml"><a name="2">士大夫士大夫</a></div> '
	    var reg=/(<(\w+)\s?.*?>)([^<].*?[^>])(<\/\2>)/ig
        var match=s.match(reg)
		var reg1=/name="(.*?)"/
		var reg2=/>(.*?)</
		for(i=0;i<match.length;i++){
			reg1.test(match[i])
			result1.push(RegExp.$1)
			reg2.test(match[i])
			result2.push(RegExp.$1)
		}
		alert(result1)
		alert(result2)

2010年8月15日 01:32
0 0

正则好久不用手都生了,不过终于把代码写出来了。测试通过。

public static void main(String[] args) {
		String source="<div class=\"hdwiki_tmml\"><a class=\" &nbsp;FCK__AnchorC\" name=\"1\">是大家是否</a></div><div class=\"hdwiki_tmml\"><a name=\"2\">士大夫士大夫</a></div> ";
		StringBuilder result=new StringBuilder();
		System.out.println("=======开始匹配文字内容========");
		String patternStrs="(<div class=\"hdwiki_tmml\"><a.+?>)(.+?)(</a></div>)";
		Pattern pattern=Pattern.compile(patternStrs);
		Matcher matcher=pattern.matcher(source);
		while(matcher.find()){
			result.append(matcher.group(2)+"\n");
		}
		System.out.println(result.toString());
		
		System.out.println("=======开始匹配name属性值========");
		String patternName="(<div class=\"hdwiki_tmml\"><a.+?)name=\"(.+?)\">(.+?</a></div>)";
		pattern=Pattern.compile(patternName);
		matcher=pattern.matcher(source);
		result=result.delete(0, result.length());
		while(matcher.find()){
			result.append(matcher.group(2)+"\n");
		}
		System.out.println(result.toString());
	}


全当复习一次了!

2010年8月14日 23:39

相关推荐

    JavaScript正则表达式匹配 div style标签

    主要介绍了JavaScript正则表达式匹配&lt;div&gt;&lt;style&gt;标签 的相关资料,需要的朋友可以参考下

    php过滤HTML标签、属性等正则表达式汇总

    主要介绍了php过滤HTML标签、属性等正则表达式汇总,本文使用代码实例给出了过滤HTML内容的正则表达式,具体说明请参阅代码中的注释,本文对使用PHP做采集的朋友有比较大的作用,需要的朋友可以参考下

    PHP获取淘宝aaa商品信息

    我们可以使用正则表达式 `/&lt;title&gt;([^&lt;&gt;]*)&lt;\/title&gt;/` 来提取商品名称。由于淘宝商品页面的标题中包含了商品名称,所以我们可以直接提取标题中的内容。 3. 商品价格 我们可以使用正则表达式 `/&lt;([a-z]+)[^i]*id=...

    Python简单案例--收集熊猫TV主播人气行榜

    # 明确目的: 获取熊猫TV 英雄联盟主播人气排行榜 ...# 分析网页的结构,找到数据所在的标签位置: video-info { video-nickname, video-number } ...# 用正则表达式提取我们要的数据 video-nickname,video-number

    BeautifulSoup获取指定class样式的div的实现

    如何获取指定的标签的内容是解析网页爬取数据的必要手段,比如想获取&lt;div class=’xxx’&gt;...)&lt;/div&gt;’,通过正则表达式的括号,可以获取匹配的内容,即&lt;div&gt;&lt;/div&gt;之间的内容: import re def getTags(html): reg = r

    用正则查找html中有id属性的html标签

    如: 字符串&lt;div xss=removed id=”ab”&gt;123213&lt;/div&gt;&lt;div class=”a123″&gt;21314423&lt;/div&gt; 不匹配&lt;div class=”a123″&gt;……&lt;/div&gt;的内容 写这个例子可以用 &lt;[a-zA-Z0-9][^&gt;]+?id=[^&gt;]+?&gt;.*?&lt;/div&gt; 匹配 上一个...

    js使用小技巧

    &lt;a href="javascript:function()"&gt;word&lt;/a&gt; 上一网页源 asp: request.servervariables("HTTP_REFERER") javascript: document.referrer 释放内存 CollectGarbage(); 禁止右键 document.oncontextmenu = ...

    阿里巴巴2017秋招前端笔试题.pdf

    * 在JSX中,可以使用JavaScript表达式作为标签的内容,例如:&lt;div&gt;{msg}&lt;/div&gt;。 * JSX也可以使用JavaScript函数作为标签的内容,例如:&lt;div style={{height: 50}}&gt;&lt;/div&gt;。 二、正则表达式基础知识 * 正则表达式...

    freemarker总结

    其它的运行符可以作用于数字和日期,但不能作用于字符串,大部分的时候,使用gt等字母运算符代替&gt;会有更好的效果,因为 FreeMarker会把&gt;解释成FTL标签的结束字符,当然,也可以使用括号来避免这种情况,如:&lt;#if (x&gt;y)&gt; ...

    Java开源的xpath解析器Jsoupxpath.zip

    "//div[@id='post_list']/div[self::div/div/div/span[@class='article_view']/a/num()&gt;1000]/div/h3/allText()"; "//div[@id='post_list']/div[2]/div/p/preceding-sibling::h3/allText()"; "//div[@id='post_list'...

    Python 获取div标签中的文字实例

    compile 函数用于编译正则表达式,生成一个正则表达式( Pattern )对象,供 match() 和 search() 这两个函数使用。 语法格式为: re.compile(pattern[, flags]) .compile(pattern[, flags]) 参数: pattern : 一个...

    web前端软件开发常见笔试题

    包括事件处理、事件源、添加和删除事件、获取标签的自定义属性、获取 div 元素、input.type 属性、innerHTML 和 textContent 的使用等。 知识点:浏览器兼容性、事件处理、DOM 操作 5. 规避 javascript 多人开发...

    html网页用户注册表单验证校验JavaScript源码代码

    //获取到input标签框框里面输入的值,是一个字符串 var regExp = new RegExp("^\\w*$","gm");//一定要写上开头^和结尾$不然匹配上后,没办法排除别的,要打上*号,表示可以0个以上匹配的字符 var ismacth=regExp....

    网页用户注册表单校验JavaScript脚本代码源码下载

    //获取到input标签框框里面输入的值,是一个字符串 var regExp = new RegExp("^\\w*$","gm");//一定要写上开头^和结尾$不然匹配上后,没办法排除别的,要打上*号,表示可以0个以上匹配的字符 var ismacth=regExp....

    思库教育PHP零基础培训+进阶课程+PHP项目开发实战 21G PHP零基础学习视频教程.txt

    ├&lt;思库教育一阶段&gt; │ ├1 div实现分块 给颜色;添表格.lxe │ ├1_html+css+js.zip │ ├10表单+input属性值.lxe │ ├2div如何平行显示.lxe │ ├3浮动(float)与清除(cleal)浮动.lxe │ ├4如何使用手册与表单张3...

    【ASP.NET编程知识】.net core xss攻击防御的方法.docx

    * 对用户输入的数据进行验证和过滤,例如,使用正则表达式对输入数据进行验证。 四、结论 XSS 攻击是一种常见的安全威胁,在 ASP.NET 编程中需要对用户输入的数据进行过滤和 sanitization。使用 HtmlSanitizer 库...

    JavaScript详解(第2版)

     17.3 使用字符串的正则表达式方法   17.3.1 match()方法   17.3.2 search()方法   17.3.3 replace()方法   17.3.4 split()方法   17.4 获取控制——元字符   17.4.1 点元字符   17.4.2 字符...

    超实用的jQuery代码段

    9.13 根据指定正则表达式识别超链接 9.14 验证Email地址的正确性 9.15 动态统计字符个数 9.16 使用jQuery验证用户年龄 9.17 按照首字母进行元素排序 9.18 获取URL地址的Hash参数 9.19 避免多行文本溢出的算法 9.20 ...

    (全)传智播客PHP就业班视频完整课程

    10-10 3 正则表达式 子表达式 引用 反向捕获 10-10 4 正则表达式 元字符 语法 10-10 5 元字符 实例应用 10-10 6 供求信息网讲解1 10-10 7 供求信息网讲解2 10-11 1 供求信息网3 10-11 2 供求信息网4 10-11 3 供求...

    韩顺平PHP JS JQUERY 所有视频下载种子 货真价实

    10-10 3 正则表达式 子表达式 引用 反向捕获 10-10 4 正则表达式 元字符 语法 10-10 5 元字符 实例应用 10-10 6 供求信息网讲解1 10-10 7 供求信息网讲解2 10-11 1 供求信息网3 10-11 2 供求信息网4 10-11 3 供求...

Global site tag (gtag.js) - Google Analytics