求一个可解析HTML标签,属性的 正则表达式 200分!!!!!!!!!!!!!!!1
求一个可解析HTML标签,属性的正则表达式如<标签属性="属性值">标签体</标签>不管什么标签,属性.都能匹配到.现需求:解析一个字符串,这个字符串可能含有html标签...
求一个可解析HTML标签,属性的 正则表达式
如<标签 属性="属性值">标签体</标签>
不管什么标签,属性.都能匹配到.
现需求:解析一个字符串,这个字符串可能含有html标签,我要将这个标签的属性,文本 拿出来替换所以需要一个正则,或有其他解决方法亦可 展开
如<标签 属性="属性值">标签体</标签>
不管什么标签,属性.都能匹配到.
现需求:解析一个字符串,这个字符串可能含有html标签,我要将这个标签的属性,文本 拿出来替换所以需要一个正则,或有其他解决方法亦可 展开
3个回答
展开全部
属性是一个吗?如果任意个属性,用正则可以把所有的属性作为一个字符串得到,你可以再用正则或者字符串操作进行处理。
<(\w+)\s*([^>]+)?>([^<]+)<\/\1>
第一个分组是标签名,第二个分组是所有属性,第三个分组是标签体,如果没有属性的话,第二个分组是标签体。
<(\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));
}
展开全部
<(?'label'\w+)(?'attribute'[^>]*)>(?'text'.*?)</\k'label'>
分组label是标签名
分组attribute是属性和属性值
分组text是标签体
要获得具体的属性的属性值可以再对attribute进行一次匹配
\s*(?'name'\w+)\s*=\s*(?'value'\w+)
name是属性名
value是属性值
实际使用时如果还需要考虑引号的平衡组的问题,可能会更复杂
分组label是标签名
分组attribute是属性和属性值
分组text是标签体
要获得具体的属性的属性值可以再对attribute进行一次匹配
\s*(?'name'\w+)\s*=\s*(?'value'\w+)
name是属性名
value是属性值
实际使用时如果还需要考虑引号的平衡组的问题,可能会更复杂
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是的 可以这样的他们这样讲的就是这样的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询