`

java中的正则表达式的使用

阅读更多
在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使用正则表达式提取XML节点内容的方法示例

    为了帮助开发者更好地掌握Java正则表达式技术,我们提供了一系列的Java正则表达式技巧大全,包括《Java正则表达式技巧大全》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧...

    java正则表达式.zip

    - 正则表达式中的特殊字符需要转义,如`\d`应写为`\\d`。 - 如果正则表达式在字符串中,需要额外的转义,如`"\\d\\d"`。 - 贪婪与非贪婪匹配:默认情况下,`*`, `+`, `?`是贪婪的,会尽可能多地匹配。如果在后面加上...

    使用Java正则表达式分析处理日志

    本篇将围绕“使用Java正则表达式分析处理日志”这一主题,探讨如何利用Java的正则表达式功能来提取、过滤和操作日志数据。 首先,我们需要理解正则表达式的基本概念。正则表达式(Regular Expression)是一种模式...

    Java根据正则表达式生成字符串—Xeger,automaton

    在Java中,我们可以使用RE2J库,它是Google开发的一个高效、安全的正则表达式引擎,支持构造有限状态自动机。虽然RE2J主要设计用于正则表达式的匹配,但通过它的内部机制,我们可以间接地实现字符串生成。 下面是一...

    java使用正则表达式判断手机号的方法示例

    2. java正则表达式的使用:java使用正则表达式可以实现手机号的匹配操作。正则表达式可以定义模式来匹配字符串,例如,"^((13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$"这个正则表达式可以匹配大多数的手机号码。 3...

    java正则表达式匹配工具

    Java正则表达式匹配工具是IT领域中一种强大的文本处理工具,它利用正则表达式(Regular Expression)的规则来查找、替换或者提取文本中的特定模式。正则表达式是一种特殊的字符序列,能够帮助程序员或者用户高效地...

    JAVA正则表达式大全

    2. **正则表达式中的特殊字符** 特殊字符是具有特定含义的字符,例如`\`用于转义,使得原本具有特殊意义的字符如`(`、`)`、`.`等变成普通字符。其他特殊字符如`\d`代表数字,`\s`代表空白字符,`\w`代表单词字符...

    Java正则表达式 Java 正则表达式

    `在正则表达式中具有特殊含义,分别代表零个或多个、一个或多个、零个或一个前一个字符。 4. **范围处理** - 使用方括号`[]`定义字符范围,例如`[a-zA-Z]`表示匹配任何字母。 5. **预定义字符类** - `\s`:匹配...

    常用java正则表达式

    ### 常用Java正则表达式知识点 #### 一、引言 正则表达式是一种强大的工具,用于处理文本并查找模式。多种编程语言,包括Perl、PHP、Python、JavaScript以及Java等均内置了对正则表达式的支持。本文将详细介绍Java...

    java通过正则表达式匹配获取MAC(支持windows和Linux)

    java通过正则表达式匹配获取MAC(支持windows和Linux)

    Java 使用正则表达式对象实现正则的获取功能

    在 Java 中,使用正则表达式对象可以实现各种字符串匹配和提取操作。正则表达式对象主要通过 Pattern 和 Matcher 两个类来实现。下面详细介绍如何使用正则表达式对象实现正则获取功能。 一、基本概念 在使用正则...

    常用正则表达式HTML,JAVA合集

    这个合集提供的HTML和Java正则表达式实例,为开发者提供了一个快速参考的工具,帮助他们在开发过程中快速有效地实现数据验证功能。理解并熟练运用这些正则表达式,对于提高代码质量和用户体验都有极大的帮助。在实际...

    java正则表达式验证

    java使用正则表达式进行校验验证,主要使用了Pattern和Matcher类,直接main方法运行就可以,亲测有效

    java_zhengze.rar_正则表达式_正则表达式 java

    本资料"java_zhengze.rar"提供了对Java正则表达式的详细讲解,包括基本概念、元字符、预定义字符类以及各种匹配操作,对于Java开发者来说是一份非常实用的学习资源。 首先,我们来了解一下正则表达式的基石——元...

    java正则表达式使用例子

    Java正则表达式是Java编程语言中用于处理字符串的强大工具,它允许我们通过模式匹配来查找、替换或分割文本。在Android开发中,正则表达式尤其重要,因为它们可以帮助我们验证用户输入、处理文本数据或者进行复杂的...

    java Xeger 根据正则表达式生成满足的随机数据

    在Java中使用Xeger,首先需要引入Apache Commons Text库。你可以通过Maven或Gradle将依赖添加到项目中。对于Maven,可以在pom.xml文件中加入以下依赖: ```xml &lt;groupId&gt;org.apache.commons &lt;artifactId&gt;commons...

    Java正则表达式.ppt

    使用Java正则表达式的好处在于它能显著提高编程效率,例如验证电子邮件地址这样的任务,传统方法可能需要大量的代码,而使用正则表达式则可以大大简化。然而,这也需要程序员学习和掌握正则表达式相关的知识。 在...

    java 使用正则表达式验证电话号码的格式

    java 使用正则表达式验证电话号码的格式 java 使用正则表达式验证电话号码的格式

    使用Java正则表达式实现一个简单的身份证号码验证

    ### 使用Java正则表达式实现一个简单的身份证号码验证 #### 一、背景介绍 身份证号码是中国公民的身份标识,由15位或18位数字组成(早期为15位,后改为18位)。其中,第18位是校验码,可能是数字0~9或者大写字母X。...

    java正则表达式验证IP地址

    Java正则表达式验证IP地址是指使用Java语言中的正则表达式来验证IP地址是否符合标准。IP地址是指在网络通信中用来标识设备的地址,它是一种逻辑地址,通过它可以找到网络中的设备。在Java中,可以使用正则表达式来...

Global site tag (gtag.js) - Google Analytics