Java基于正则表达式获取指定HTML标签指定属性值的方法
本文实例讲述了Java基于正则表达式获取指定HTML标签指定属性值的方法。分享给大家供大家参考,具体如下:
有时可能会有这样的需求,从HTML页面获取指定标签的指定属性值,可以通过第三方库解析来获取,但是这样相对比较麻烦!
如果使用正则表达式,那么就变得简单了。代码如下:
packagecom.mmq.regex; importjava.util.ArrayList; importjava.util.List; importjava.util.regex.Matcher; importjava.util.regex.Pattern; /** *@use获取指定HTML标签的指定属性的值 *@ProjectNamestuff *@Authormikan *@FullNamecom.mmq.regex.MatchHtmlElementAttrValue.java *@JDK1.6.0 *@Version1.0 */ publicclassMatchHtmlElementAttrValue{ /** *获取指定HTML标签的指定属性的值 *@paramsource要匹配的源文本 *@paramelement标签名称 *@paramattr标签的属性名称 *@return属性值列表 */ publicstaticList<String>match(Stringsource,Stringelement,Stringattr){ List<String>result=newArrayList<String>(); Stringreg="<"+element+"[^<>]*?\\s"+attr+"=['\"]?(.*?)['\"]?(\\s.*?)?>"; Matcherm=Pattern.compile(reg).matcher(source); while(m.find()){ Stringr=m.group(1); result.add(r); } returnresult; } publicstaticvoidmain(String[]args){ Stringsource="<atitle=中国体育报href=''>aaa</a><atitle='北京日报'href=''>bbb</a>"; List<String>list=match(source,"a","title"); System.out.println(list); } }
PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:
JavaScript正则表达式在线测试工具:
http://tools.jb51.net/regex/javascript
正则表达式在线生成工具:
http://tools.jb51.net/regex/create_reg
希望本文所述对大家java程序设计有所帮助。