Java那些事之正则表达式

今天说说正则表达式。这可是写程序经常遇到的,也是一个程序员必须掌握的技术。其实不只是java,任何的技术任何的语言都离不开正则表达式,而且他们得形式都大同小异,基本上是一样的。

下面先说说正则表达式,这里推荐一篇文章,http://blog.csdn.net/cping1982/article/details/1900808 其中详细的介绍了正则表达式的常用方法,可以说已经非常详细了。我就不多解释了。

下面给出一些常用的正则程序:

1 去除字符串两边的空格

/**
     * 去掉字符串两边的空格
     * 
@param res 传入的字符串
     * 
@return 去掉空格之后的字符串
     
*/
    
public static String TrimString(String res) {
        String regStartSpace 
= "^\\s*";  
        String regEndSpace 
= "\\s*$";  
        String regMiddleSpace 
= "\\s+";
        
// 连续3个 replaceAll   
        
// 第一个是去掉前端的空格, 第二个是去掉后端的空格  
        res = res.replaceAll(regStartSpace, "").replaceAll(regEndSpace, "").replaceAll(regMiddleSpace, " ");  
        
return res;
    }

 

 2 匹配字符串是否含有中文

private String CheckChineseorEngLish(String content) {
        
// TODO Auto-generated method stub
        Pattern pattern=Pattern.compile("[\u4e00-\u9fa5]");  
        Matcher matcher
=pattern.matcher(content);  
        
if(matcher.find())
        {
            
return "chinese";
        }
        
else
        {
            
return "english";
        }
    }

 

3 去除html标记

Pattern pattern = Pattern.compile("<.+?>", Pattern.DOTALL);
Matcher matcher 
= pattern.matcher("<a href=/"index.html/">主页</a>");
String string 
= matcher.replaceAll("");
System.out.println(string);

 

4 验证是否为邮箱地址

String str="ceponline@yahoo.com.cn";
Pattern pattern 
= Pattern.compile("[//w//.//-]+@([//w//-]+//.)+[//w//-]+",Pattern.CASE_INSENSITIVE);
Matcher matcher 
= pattern.matcher(str);
System.out.println(matcher.matches());

 

先简单说这么点儿,剩下的大家自己去试试吧~

 

 

 

posted @ 2011-07-12 19:22  ~大器晚成~  阅读(565)  评论(0编辑  收藏  举报