在java中使用正则表达式,需要引入java中的java.util.regex包。
改包内包含了与正则表达式相关的Pattern类,Matcher类。
Pattern类表示以字符串形式指定的正则表达式,
而Matcher类的实例用于匹配字符串与给定模式
一个正则表达式编译成Pattern类的对象,这个Pattern对象蒋辉使用Pattern类的matcher()方法来产生一个Matcher对象;接下来就可以使用该Matcher实例编译正则表达式,从而对目标字符串进行匹配工作。需要注意的是,多个Matcher对象是可以共用一个Pattern对象的。
Pattern类以字符串的形式指定正则表达式的编译表示形式。Pattern类没有构造方法,而是使用compile()生成一个Pattern类对象。
Pattern p = Pattern.complie("[abc]+");
Pattern p = Pattern.complie("[/]+");
String[] result = p.split(str);
String[] result = p.split(str,2);
表示分割的次数不能超过2次
Matcher类
Matcher类的对象由Pattern类的方法matcher(CharSequence input)生成。
Pattern p = Pattern.compile("xinwei");
Matcher m = p.matcher("123,xinwei,456,xinwei");
boolean result = m.find();
//使用find找到第一个匹配的对象
m.appendReplacement(sb,"panglina");
//将"panglina加入到sb对象中"
此时sb(stringbuffer)对象中的值为:123,panglina
正则表达式常用的4种功能
查找,获取,分段,替换
1、查找
find()
Pattern p = Pattern.compile(regexp,Pattern.CASE_INSENSITIVE)
表示查找时忽略大小写,即使用flag参数指定模式匹配器的匹配模式
2、获取
利用group()方法提取某个具体的匹配结果
先去查找
m.find();
for(int i=1;i<m.groupCount();i++){
m.group(i);
}
3、分隔
使用split()方法可以讲指定的字符串使用指定的正则表达式进行分隔
这里就不需要得到matcher对象
Pattern p = Pattern.compile("::");
String[] str = p.split("xd::avc:asd");
对于分隔,我们也可以使用String类的分隔
String str1 = "xd::avc:asd";
str1.split("::");
4、替换
Matcher类提供了非常易用的方法 replaceAll()用于将指定的正则表达式匹配的字符串替换为指定的字符串
另外,替换操作可以实现删除操作。将其替换成空字符串就可以了
Pattern p = Pattern.compile("a+");
Matcher m = p.matcher("aaaacccddd a ccdeaa");
String str = m.replaceAll("A");
分享到:
相关推荐
本文写作时,一个包含了用正则表达式进行文本处理的Java规范需求(Specification Request)已经得到认可,你可以期待在JDK的下一版本中看到它。 然而,如果现在就需要使用正则表达式,又该怎么办呢?你可以从Apache...
Java正则表达式Java正则表达式Java正则表达式Java正则表达式
java,正则表达式,详解,java正则表达式,PDF
主要介绍了Java使用正则表达式提取XML节点内容的方法,结合具体实例形式分析了java针对xml格式字符串的正则匹配相关操作技巧,需要的朋友可以参考下
java通过正则表达式匹配获取MAC(支持windows和Linux)
Java根据正则表达式生成字符串,包括了Xeger和automaton
java 使用正则表达式验证电话号码的格式 java 使用正则表达式验证电话号码的格式
正则表达式之道.doc 正则表达式中的特殊字符.doc Java正则表达式详解.doc 正则表达式.ppt JAVA正则表达式--Pattern和Matcher.doc 例子
java使用正则表达式进行校验验证,主要使用了Pattern和Matcher类,直接main方法运行就可以,亲测有效
java正则表达式详解java正则表达式详解java正则表达式详解java正则表达式详解java正则表达式详解java正则表达式详解java正则表达式详解
java正则表达式java正则表达式java正则表达式java正则表达式java正则表达式java正则表达式
Java 使用正则表达式对象实现正则的获取功能 Java 使用正则表达式对象实现正则的获取功能
JAVA正则表达式JAVA正则表达式JAVA正则表达式
java 利用正则表达式从字符串中提取省、市、区、镇、乡等区域名称(包含少数民族地区),支持地址中无省,无市,无县情况。
Java正则表达式 Java 正则表达式 图片版 携带方便,查阅方便!~
Java常用正则表达式,一些在开发中常用的表达式。
主要介绍了java使用正则表达式判断手机号的方法,分析了手机号码段的原理及java使用正则表达式针对手机号的匹配操作实现技巧,需要的朋友可以参考下
java实现用正则表达式的方法提取html中的信息,可以提取标题,正文,链接等。经过运行,没问题的
java正则表达式详解java正则表达式详解java正则表达式详解java正则表达式详解java正则表达式详解java正则表达式详解
java正则表达式使用例子,代码是Android的