今天說說Regex。這可是寫程式經常遇到的,也是一個程式員必須掌握的技術。其實不只是java,任何的技術任何的語言都離不開Regex,而且他們得形式都大同小異,基本上是一樣的。
下面先說說Regex,這裡推薦一篇文章,http://blog.csdn.net/cping1982/article/details/1900808 其中詳細的介紹了Regex的常用方法,可以說已經非常詳細了。我就不多解釋了。
下面給出一些常用的正則程式:
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());
先簡單說這麼點兒,剩下的大家自己去試試吧~