java正则表达式及其操作大全

import java.util.regex.Matcher;
import java.util.regex.Pattern;
/*
 * 正则表达式:符合一定规则的表达式,Pattern类,通俗的说就是用符号表示一定的字符规则。
 * 作用:用于专门操作字符串,可以简化对字符串的复杂操作,提高编程的效率。
 * 下面我们将介绍对正则表达式的具体操作,一般都得自己查表查到具体字符代表什么,这也是它的弊端,阅读性差
 * 特点:正则表达式操作起来简单,但是正则表达式的书写稍微有点困难
 */
public class Zhengze {

	public static void main(String[] args) 
	{
		String a="a";
		String b="basdsf";
		String c="155511385";
		String d="02541454";
		String e="265156153153153153415";
		String f="abfsdfabfsdfabdsfabhtr";
		String g="aaf  fsf     gdfger   fgerg";
		//匹配,由于具体的字符串太多,我们在此只给出几个例子,只要有一处不符合则返回false
		System.out.println("判断一个字符是否为a或b或c:"+a.matches("[abc]"));
		System.out.println("判断一个字符是否不为a或b或c:"+a.matches("![abc]"));
		System.out.println("判断一个字符是否是字母:"+a.matches("[a-z A-Z]"));
		System.out.println("判断一个字符是否是数字:"+a.matches("[0-9]"));
		System.out.println("判断是否为长度4到10的字母组成的字符串:"+a.matches("[a-z A-z]{4,10}"));
		System.out.println("判断是否为长度4到10的字母组成的字符串:"+b.matches("[a-z A-z]{4,10}"));
		System.out.println("判断是否为首字符不为0,后边的字符一共4到10位:"+c.matches("[1-9][0-9]{4,10}"));
		System.out.println("判断是否为首字符不为0,后边的字符一共4到10位:"+d.matches("[1-9][0-9]{4,10}"));
		System.out.println("判断是否为首字符不为0,后边的字符一共4到10位:"+e.matches("[1-9][0-9]{4,10}"));
		//替换
		System.out.println("替换符合正则表达式的所有字符为新字符:"+f.replaceAll("[a][b]", "#"));
		//获取,通过group操作
		String reg="[1][5][6]";//定义规则,找156的字符串
		Pattern p=Pattern.compile(reg);//将规则封装为对象
		Matcher m=p.matcher(e);//将正则对象和要作用的字符串相关联并获得匹配器对象
		while(m.find())//得先找到,才能获取
		{
			System.out.println(m.group());//获取字符串
			System.out.println(m.start());//开始位置
			System.out.println(m.end());//结束位置,包含头不包含尾
		}
		//切割,尤其是表达式的书写,多注意转义字符\,在此只给出一个了例子
		String[] h=g.split(" +");
		for(String x:h) 
		{
			System.out.println("以多个空格进行切割:"+x);//十分重要
		}
	}

}

猜你喜欢

转载自blog.csdn.net/qq_41901915/article/details/81267780