Java中正则表达式利用例子
正则表达式是很常见的。可是也是很容易堕落的。
所以,整理了写 Java正则表达式的要领。
pattern(模式)。split(支解_成数组)。compile(编译)、matcher(匹配器)
.+ 暗示任何不为空的 、 \\. 暗示转译为 . ^开头 $末了
? 暗示为懒惰模式。匹配到第一个满意的就遏制 * :0到无穷 + :1到无穷
\d 数字:[0-9] \D 非数字:[^0-9] \w数字和字母[a-zA-Z0-9] \W 非数字和字母 [^a-zA-Z0-9]
在一些语言里,"\\"的意思是"在正则表达式里插入一个反斜杠。"可是在Java里,"\\"的意思是"要插入一个正则表达式 的反斜杠,
那么java正则表达式就应该是"\\w+"。假如要插入一个反斜杠,那就得用"\\\\"。
java像换行,跳格之类的只用一根反斜杠"\n\t"。
example:
Pattern pattern = Pattern.compile("[, |]+");
String[] strs = pattern.split("Java Hello World Java,Hello,,World|Sun");
for (int i = 0; i < strs.length; i++) {
System.out.print("\t" + strs[i]);
}
输出功效 为: Java Hello World Java Hello World Sun
验证邮箱地点:
String str2 = "[email protected].com.cn";
Pattern pattern5 = Pattern.compile("[email protected]+\\..+?");
Matcher matcher5 = pattern5.matcher(str2);
System.out.print("\n" + matcher5.matches()); //返回 布尔值
去除html标志:
Pattern pattern6 = Pattern.compile("<.+?>");
Matcher matcher6 = pattern6.matcher("<a href=\"index.html\">主页</a>");
String string = matcher6.replaceAll("");
System.out.println("\r" + string);
// 截取url
Pattern pattern8 = Pattern.compile("<http://.+?>");
Matcher matcher8 = pattern8.matcher("dsdsds<http://www.baidu.com/>fdf");
if (matcher8.find()) {
System.out.println(matcher8.group()); // 返回匹配的字符串
}
简朴的:
example:
String str = "正则表达式 Hello World,正则表达式 Hello World ";
str.replace("hello" , "我要替换hello")
筛选数字
public Double regexGetMath(String matcher) {
Pattern pattern = Pattern.compile("[^0-9/.]");
Matcher match = pattern.matcher(matcher);
String getStr = match.replaceAll("");
Double getNum = Double.parseDouble(getStr);
return getNum;
}
筛选字符串
public String regexGetLetterLow(String matcher) {
Pattern pattern = Pattern.compile("[^a-zA-Z]");
Matcher match = pattern.matcher(matcher);
String getStr = match.replaceAll("").toLowerCase();
return getStr;
}
原文: http://www.cnblogs.com/zhongmeizhi/p/6306933.html