• java正則表達式总结


    近期用到的正則表達式

    因为近期在做一个android的新闻client。多次用到了正則表達式。因此总结下。

    1.使用正則表達式获取Rss资源内的文章内容的图片url
    由于在每条新闻浏览的listView里须要新闻内容里的图片。因此你须要抓取文章第一张照片url地址。豆瓣的照片格式是:

    <img src="http://theimg.aliapp.com/img.php?

    url=http://img6.douban.com/view/presto/large/public/218991.jpg"/>

    你须要在众多的内容中获取图片ur地址。这须要java正則表達式写个方法
                    /**
    		 * 提取html中imag的src内容
    		 * 返回的值格式为
    		 * http://img6.douban.com/view/presto/large/public/111.jpg
    		 */
    
    		public String getImgStr(String htmlStr) {
    			String img = "", tmp = "";
    			java.util.regex.Pattern p_image;
    			java.util.regex.Matcher m_image;
    
    			String regEx_img = "http://[([a-z0-9]|.|/|\-)]+.[(jpg)|(bmp)|(gif)|(png)]";// 图片链接地址
    			p_image = java.util.regex.Pattern.compile(regEx_img, java.util.regex.Pattern.CASE_INSENSITIVE);
    			m_image = p_image.matcher(htmlStr);
    			while (m_image.find()) {
    				img = img + "," + m_image.group();
    			}
    			System.out.println(img.indexOf(","));
    			if (img.indexOf(",") >= 0){
    				String[] url=img.substring(1).split(",");
    				if (url.length>1) {
    					if (url[1].indexOf("jpg")!=-1) {
    						return url[1];
    					}else{
    						return null;
    					}
    					
    				}else{
    					return null;
    				}
    				
    			}else
    				return img;
    			
    		}
    这种方法返回的就是第一张图片url地址。并且大家会想到假设文章里没有图片就返回null,后面你也能够帅选没有图片的文章。
    2.过滤文本超链接
    想必大家在做站点时,经经常使用js跟超链接打招呼。我碰到的问题是:一篇文章从RSS获取到后。里面的文字含有超链。显示在手机里字体会有颜色,这样会非常难看。
    開始想到的办法是到百度里搜索:android webView消除html超链接。得到的是解决不能让浏览器使用超链接的办法
                //屏蔽超链接
    	    bodyHtml.setWebViewClient(new WebViewClient(){
    	    	public boolean shouldOverrideUrlLoading(WebView view, String url) {
    	            return true;
    	        }
    	    });

    点击超链接确实不能跳转到别的页面,可是字体还是有颜色,因此我搜寻的方向错了,因此搜索java正則表達式过滤正則表達式,就得到了自己须要的结果,既然百度并没大家想的那么智能,那就自己做的尽可能精确(搜索结果第一页居然出现php版的,我也是醉了)
                    //去除超链接,保留字体
    		String regex="<\s*a.*?

    /a\s*>"; title=title.replaceAll(regex, "");

    当然你也能够把超链接的字体去掉都能够。


    最后还是那句话:仅仅要坚持查找,你一定能找到你须要的!




  • 相关阅读:
    c++开发之对应Linux下的sem_t和lock
    嵌入式开发之davinci--- 8148/8168/8127 中的图像处理算法优化库vlib
    crc32 冗余加密校验
    快速安装 GitLab 并汉化
    oracle-6-密码文件
    oracle-5-的升级步骤
    Linux大文件已删除,但df查看已使用的空间并未减少解决
    cygwin 的不同文件类型显示不同的颜色
    PLSQL的安装
    网络流量监控工具----iftop
  • 原文地址:https://www.cnblogs.com/llguanli/p/7076416.html
Copyright © 2020-2023  润新知