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;
}
* 去掉字符串两边的空格
* @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());
先简单说这么点儿,剩下的大家自己去试试吧~
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架