目录:
(一)完全匹配
(二)查找与该模式匹配的下一个子序列,并输出内容
(三)分组查询
(四)替换
(五)分割
(一)完全匹配
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class test1 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//表达式对象
Pattern p=Pattern.compile("\\w+");
//创建Matcher对象
Matcher m=p.matcher("asfsdf2222");
//Matcher m=p.matcher("asfsd&&f2222"); 输出no
boolean yesorno=m.matches();// 整个字符序列进行完全匹配
System.out.println(yesorno);
}
}
结果:
(二)查找与该模式匹配的下一个子序列,并输出内容
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class test2 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//表达式对象
Pattern p=Pattern.compile("\\w+");
//创建Matcher对象
Matcher m=p.matcher("asfsdf&&2222");
//System.out.println(m.find());//该方法扫描输入的序列,查找与该模式匹配的下一个子序列
//如何查找到了,并且返回其内容?
// System.out.println(m.find());
// System.out.println(m.group());
// System.out.println(m.find());
// System.out.println(m.group());
// System.out.println(m.find());
// System.out.println(m.find());
//上述问题可用循环解决
while(m.find()){
System.out.print(m.group());
}
}
}
结果:
(三)分组查询
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* 正则表达式分组处理
* @author john
*
*/
public class test3 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//表达式对象
Pattern p=Pattern.compile("([a-z]+)([0-9]+)");
//创建Matcher对象
Matcher m=p.matcher("aa232**ssd445*sds223");
//上述问题可用循环解决
while(m.find()){
System.out.println(m.group());
System.out.println(m.group(1));
System.out.println(m.group(2));
}
}
}
结果:
(四)替换
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* 测试正则表达式对象:替换
* @author john
*
*/
public class test4 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//表达式对象
Pattern p=Pattern.compile("[0-9]");
//创建Matcher对象
Matcher m=p.matcher("aa232**ssd445*sds223");
//替换
String newStr=m.replaceAll("#");
System.out.println(newStr);
}
}
结果:
(五)分割
import java.util.Arrays;
public class test5 {
/**
* 测试正则表达式对象:分割
* @author john
*
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String str="a,b,c";
String[] arrs=str.split(",");
System.out.println(Arrays.toString(arrs));
//复杂切割
String str1="a232b4334c3434";
String[] arrs1=str.split("\\d+");
System.out.println(Arrays.toString(arrs));
}
}
结果: