求一个可解析HTML标签,属性的 正则表达式 200分!!!!!!!!!!!!!!!1

求一个可解析HTML标签,属性的正则表达式如<标签属性="属性值">标签体</标签>不管什么标签,属性.都能匹配到.现需求:解析一个字符串,这个字符串可能含有html标签... 求一个可解析HTML标签,属性的 正则表达式
如<标签 属性="属性值">标签体</标签>
不管什么标签,属性.都能匹配到.
现需求:解析一个字符串,这个字符串可能含有html标签,我要将这个标签的属性,文本 拿出来替换所以需要一个正则,或有其他解决方法亦可
展开
 我来答
自由de王国
2014-01-20 · TA获得超过1066个赞
知道小有建树答主
回答量:661
采纳率:50%
帮助的人:841万
展开全部
属性是一个吗?如果任意个属性,用正则可以把所有的属性作为一个字符串得到,你可以再用正则或者字符串操作进行处理。
<(\w+)\s*([^>]+)?>([^<]+)<\/\1>
第一个分组是标签名,第二个分组是所有属性,第三个分组是标签体,如果没有属性的话,第二个分组是标签体。
追问
不是看很懂能给个QQ吗大神?
追答

337063368

String regEx = "<(\\w+)\\s*([^>]+)?>([^<]+)<\\/\\1>";
String s = "<a href='fds'>safd<\\/a>";
Pattern pat = Pattern.compile(regEx);
Matcher mat = pat.matcher(s);
boolean rs = mat.find();
for(int i=1;i<=mat.groupCount();i++){
  System.out.println(mat.group(i));
}
绯弹亚丝娜
2014-01-20 · TA获得超过1094个赞
知道小有建树答主
回答量:330
采纳率:100%
帮助的人:135万
展开全部
<(?'label'\w+)(?'attribute'[^>]*)>(?'text'.*?)</\k'label'>
分组label是标签名
分组attribute是属性和属性值
分组text是标签体

要获得具体的属性的属性值可以再对attribute进行一次匹配
\s*(?'name'\w+)\s*=\s*(?'value'\w+)
name是属性名
value是属性值

实际使用时如果还需要考虑引号的平衡组的问题,可能会更复杂
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
蛇吹草瓜视1G
2014-01-20
知道答主
回答量:5
采纳率:0%
帮助的人:6939
展开全部
是的 可以这样的他们这样讲的就是这样的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式