首页 > 代码库 > java正则表达式
java正则表达式
正则表达式
正则表达式是一个强大的字符串处理工具,可以对字符串进行查找,提取,分割,替换等操作String类也提供了
如下几个特殊的方法
boolean matches(String regex):判断该字符串是否匹配指定的正则表达式
String replaceAll(String regex,String replacement):将该字符串中所有匹配的regex的字串替换成replacement
String replaceFirst(String regex,String replacement):将该字符串中第一匹配regex的字串替换成replacement
除此之外,java还提供了Pattern和Matcher两个类专门用于提供正则表达式的匹配
//使用正则表达式
//将一个字符串编译成Pattern对象
Pattern p=Pattern.complie("a*b");
//使用Pattern对象创建Matcher对象
Matcher m=p.matcher("aaaaab");
boolean b=m.matches();//true
原理:
Pattern对象是正则表达式编译后在内存中的表示形式,因此,正则表达式字符串必须先编译为Pattern对象
然后在利用该Pattern对象创建对应的Matcher对象,执行匹配所涉及的状态保存在Matcher对象中,多个Matcher对象可以
共享一个Pattern对象
Pattern是不可变的类,可供多个并发线程安全使用
Matcher类提供了如下几个常用的方法:
find():返回目标字符串中是否包含与Pattern匹配的字串
group():返回上一次与Pattern匹配的子串
start():返回上一次与Pattern匹配的子串中的开始位置
end():返回上一次与Pattern匹配的字串中的结束位置+1
lookingAt():返回目标字符串前面部分与Pattern是否匹配
matches()返回整个目标字符串与Pattern是否匹配
reset():将现有的Matcher对象应用与一个新的字符序列
public class FindGroup{
public static void main(String[] args){
//使用字符串模拟网页源码
String str="xxxx4832473248XXXXXXXXXX3q50q5q34q32078rwa34543543";
//创建一个Pattern对象,并用它建立一个Matcher对象
Matcher m=Pattern.compile("((13)\\d|(15)\d)").matches(str);
while(m.find()){
System.out.println(m.grounp());
}
}
}
正则表达式是一个强大的字符串处理工具,可以对字符串进行查找,提取,分割,替换等操作String类也提供了
如下几个特殊的方法
boolean matches(String regex):判断该字符串是否匹配指定的正则表达式
String replaceAll(String regex,String replacement):将该字符串中所有匹配的regex的字串替换成replacement
String replaceFirst(String regex,String replacement):将该字符串中第一匹配regex的字串替换成replacement
除此之外,java还提供了Pattern和Matcher两个类专门用于提供正则表达式的匹配
//使用正则表达式
//将一个字符串编译成Pattern对象
Pattern p=Pattern.complie("a*b");
//使用Pattern对象创建Matcher对象
Matcher m=p.matcher("aaaaab");
boolean b=m.matches();//true
原理:
Pattern对象是正则表达式编译后在内存中的表示形式,因此,正则表达式字符串必须先编译为Pattern对象
然后在利用该Pattern对象创建对应的Matcher对象,执行匹配所涉及的状态保存在Matcher对象中,多个Matcher对象可以
共享一个Pattern对象
Pattern是不可变的类,可供多个并发线程安全使用
Matcher类提供了如下几个常用的方法:
find():返回目标字符串中是否包含与Pattern匹配的字串
group():返回上一次与Pattern匹配的子串
start():返回上一次与Pattern匹配的子串中的开始位置
end():返回上一次与Pattern匹配的字串中的结束位置+1
lookingAt():返回目标字符串前面部分与Pattern是否匹配
matches()返回整个目标字符串与Pattern是否匹配
reset():将现有的Matcher对象应用与一个新的字符序列
public class FindGroup{
public static void main(String[] args){
//使用字符串模拟网页源码
String str="xxxx4832473248XXXXXXXXXX3q50q5q34q32078rwa34543543";
//创建一个Pattern对象,并用它建立一个Matcher对象
Matcher m=Pattern.compile("((13)\\d|(15)\d)").matches(str);
while(m.find()){
System.out.println(m.grounp());
}
}
}
java正则表达式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。