正则表达式(Regular Expression)
正则表达式使用单个字符串来描述,匹配一系列符合某个句法规则的字符串
正则表达式通常被用来检索,替换那些符合某个模式的文本
java,util.regex 包中提供以下两个类对正则表达式的支持:
Matcher类
通过解释Pattern对 charactor sequence执行匹配操作的引擎。
Prttern类 模式
正则表达式的编译表示形式
Matcher类
public final class Matcher extends ObjectImplements MatchResult
Matcher()类的主要功能是用于进行正则的匹配,通过pattern类中定义完的正则,在使用Matther类
进行验证或者替换。
常用的方法:
boolean matches()
尝试将整个区域与模式匹配
String ReplaceAll(String replacement)
替换模式与给定替换字符串相匹配的输入序列的每个子序列
String replaceFirst(String replacement);
替换模式与给定替换字符串匹配的输入序列的第一个子序列
Prttern类
public final class Pattern extends ObjectionImplements Serializable
正则表达式的编译表示形式,指定为字符串的正则表达式必须首先被编译为此类的实例
经典的调用顺序
Pattern p=Pattern.compile(“a*b”);
Matcher m=p.matcher(“aaaab”);
boolean b=m.matches();
public class Zhengze {
public static void main(String[] args) {
String s="0123456709";
boolean flag=true;
//第一种判断是不是有数字组成
char[] charArray = s.toCharArray();
for(char a:charArray){
if(a<'0' || a>'9'){
flag=false;
}
}
if(flag){
System.out.println("是由数字组成");
}else{
System.out.println("不是由数字组成");
}
//第二种,使用正则表达式
flag = s.matches("\\d+");
if(flag){
System.out.println("是由数字组成");
}else{
System.out.println("不是由数字组成");
}
}
}