在程序开发中会遇到需要匹配、查找、替换、判断字符串的时候,这时使用正则表达式可以省下很多力气。
自从jdk1.4推出java.util.regex包,就为我们提供了很好的JAVA正则表达式应用平台。
下面列举了部分用例
//查找以Java开头,任意结尾的字符串
Pattern pattern = Pattern.compile("^hello.*")//^表示开头.* 0个以上字符;
Matcher matcher = pattern.matcher("helloword");
System.out.print("
" + matcher.matches());//返回布尔类型
//多条件分割字符串
Pattern ptn=Pattern.compile("[?]");
String[] str=ptn.split("ab c?d .c");
for(int i=0;i<str.length;i++)
{
System.out.print( str[i]);
}
//文字替换(全部)
Pattern pattern = Pattern.compile("my");
Matcher matcher = pattern.matcher("my Hello World,my Hello World");
//替换第一个符合正则的数据
System.out.println(matcher.replaceAll("Java"));
//验证是否为邮箱地址
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());
//去除html标记
Pattern pattern = Pattern.compile("<.+?>", Pattern.DOTALL);
Matcher matcher = pattern.matcher("<a href=/"index.html/">主页</a>");
String string = matcher.replaceAll("");
System.out.println(string);
//查找html中对应条件字符串
Pattern pattern = Pattern.compile("href=/"(.+?)/"");
Matcher matcher = pattern.matcher("<a href=/"index.html/">主页</a>");
if(matcher.find())
System.out.println(matcher.group(1));
}