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);//十分重要
}
}
}
java正则表达式及其操作大全
猜你喜欢
转载自blog.csdn.net/qq_41901915/article/details/81267780
今日推荐
周排行