今天说说正则表达式。这可是写程序经常遇到的,也是一个程序员必须掌握的技术。其实不只是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;
}
* 去掉字符串两边的空格
* @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 " ;
}
}
// 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);
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());
Pattern pattern = Pattern.compile( " [//w//.//-]+@([//w//-]+//.)+[//w//-]+ " ,Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(str);
System.out.println(matcher.matches());