`
isiqi
  • 浏览: 16558327 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

正则表达式几种常用功能—查询,提取,替换,分割

阅读更多

正则表达式在字符串处理上有着强大的功能,sun在jdk1.4加入了对它的支持
下面简单的说下它的4种常用功能:


查询:
String str="abc efg ABC";
String regEx="a|f"; //表示a或f
Pattern p=Pattern.compile(regEx);
Matcher m=p.matcher(str);
boolean rs=m.find();
如果str中有regEx,那么rs为true,否则为flase。如果想在查找时忽略大小写,则可以写成Pattern p=Pattern.compile(regEx,Pattern.CASE_INSENSITIVE);


提取:
String regEx=".+\\\\(.+)$";
String str="c:\\dir1\\dir2\\name.txt";
Pattern p=Pattern.compile(regEx);
Matcher m=p.matcher(str);
boolean rs=m.find();
for(int i=1;i<=m.groupCount();i++){
System.out.println(m.group(i));
}
以上的执行结果为name.txt,提取的字符串储存在m.group(i)中,其中i最大值为m.groupCount();


分割:
String regEx="::";
Pattern p=Pattern.compile(regEx);
String[] r=p.split("xd::abc::cde");
执行后,r就是{"xd","abc","cde"},其实分割时还有跟简单的方法:
String str="xd::abc::cde";
String[] r=str.split("::");


替换(删除):
String regEx="a+"; //表示一个或多个a
Pattern p=Pattern.compile(regEx);
Matcher m=p.matcher("aaabbced a ccdeaa");
String s=m.replaceAll("A");
结果为"Abbced A ccdeA"
如果写成空串,既可达到删除的功能,比如:
String s=m.replaceAll("");
结果为"bbced ccde"


附:
\d 等於 [0-9] 數字
\D 等於 [^0-9] 非數字
\s 等於 [ \t\n\x0B\f\r] 空白字元
\S 等於 [^ \t\n\x0B\f\r] 非空白字元
\w 等於 [a-zA-Z_0-9] 數字或是英文字
\W 等於 [^a-zA-Z_0-9] 非數字與英文字
^ 表示每行的開頭
$ 表示每行的結尾

分享到:
评论

相关推荐

    正则表达式提取图片

    正则表达式是一种强大的文本处理工具,被广泛应用于搜索、替换以及数据提取等场景。对于网页开发或者数据分析来说,能够熟练地运用正则表达式提取图片是非常有用的技能之一。 #### 正则表达式的概念 正则表达式...

    精通 JavaScript正则表达式

    与正则表达式相关的字符串方法有 `match()`(找到匹配项)、`replace()`(替换匹配项)、`search()`(查找匹配项)和 `split()`(根据正则表达式分割字符串)。 例如,下面的代码展示了`test()`方法的工作原理: `...

    超经典正则表达式测试工具

    2. **常用表达式方法使用**:工具可能集成了常见的正则表达式操作,如查找、替换、分割等,让用户能够在实际操作中熟悉这些方法。 3. **测试字符串的字节数**:在处理字符编码问题时,了解字符串的字节数是非常有用...

    正则表达式匹配regex.rar

    正则表达式(Regular Expression,简称regex)是一种强大的文本处理工具,用于匹配、查找、替换或提取字符串中的模式。在编程、数据处理和文本编辑器中广泛应用,它通过一套特定的字符序列(元字符和量词)来定义要...

    给大家分享一个好用的正则表达式工具

    正则表达式是一种强大的文本处理工具,用于在字符串中匹配、查找、替换或者提取特定模式。在编程和数据处理领域,正则表达式是不可或缺的一部分,尤其在处理大量文本数据时,它的效率和灵活性尤为突出。 标题中的...

    正则表达式

    正则表达式是一种非常强大的字符串处理工具,它可以实现字符串的查找、提取、分割、替换等多种功能。正则表达式实际上是一个用于匹配字符串的模式,任何定义好的字符串都可以视为一个正则表达式。这种工具因其简洁...

    易语言源码明靓正则表达式工具易语言源码.rar

    3. `正则表达式分割`:根据正则表达式将字符串分割成多个子串。 4. `正则表达式提取`:从字符串中提取符合正则表达式的部分。 源码分析中,我们可以学习到如何在易语言中构建这些功能,包括编译正则表达式模式、...

    精通正则表达式 最新版中文版.Jeffrey.E.F.Friedl

    正则表达式(Regular Expression,简称regexp),是一种模式匹配工具,用于在文本中查找、替换或提取符合特定规则的字符串。在各种编程语言中,正则表达式都是处理字符串的强大工具,尤其在数据验证、文本分析和搜索...

    常用正则表达式如:日期正则表达式,使用RegularExpressionValidator验证控件时的验证功能及其验证表达式,从URL地址中提取文件名的javascript程序等

    除了以上提到的几种常见的应用场景外,还有一些其他常用的正则表达式: ##### 1. 匹配数字 - 只匹配非负整数:`^[1-9]\d*$` - 匹配所有整数(包括负数):`^-?[1-9]\d*$` - 匹配所有整数(包括0):`^-?[1-9]\d*|0$...

    正则表达式总结大全

    正则表达式的应用场景非常广泛,下面列举几个常用的案例: 1. **匹配**:使用`String.matches()`方法来检查一个字符串是否符合特定的正则表达式规则。 - 示例:验证手机号码格式正确性。 ```java public static ...

    基于Java实现正则表达式提取关键字并插入数据库

    正则表达式(Regular Expression)是一种强大的文本处理工具,可以用来匹配、查找、替换或分割字符串。在Java中,我们可以使用`java.util.regex`包中的`Pattern`和`Matcher`类来处理正则表达式。例如,如果我们想...

    C#源代码-正则表达式匹配练习.zip

    在IT领域,C#是一种广泛使用的编程语言,尤其在开发Windows桌面应用、Web应用以及游戏开发中占有重要地位。...通过逐步分析和运行这些示例,你可以更深入地了解正则表达式在C#中的强大功能和灵活性。

    JS 正则表达式基础详解

    JavaScript正则表达式是编程语言JavaScript中的一个强大工具,用于处理文本字符串,包括搜索、替换、提取信息等操作。在JavaScript中,正则表达式是一种模式匹配语言,它允许我们用简洁的方式描述复杂的字符串模式。...

    我们常用的正则表达式

    正则表达式(Regular Expression,简称regex)是用于匹配字符串的一种模式,广泛应用于文本处理、数据验证、数据提取等IT领域。它通过一种简洁的语法来定义一系列字符组合,能够帮助我们快速查找、替换或者分割符合...

    python之常用正则表达式.pdf

    正则表达式是一种强大的文本处理工具,被广泛应用于数据清洗、格式验证、搜索替换等方面。 #### 描述分析 描述部分重复了标题,没有提供额外的信息。但从标题和标签来看,我们可以推断文档内容将围绕Python中的正则...

    02C#正则表达式编程.doc

    正则表达式是一种强大的文本处理语言,能够高效地查找、替换和提取文本中的特定模式。在C#中,正则表达式主要通过`System.Text.RegularExpressions`命名空间中的几个核心类来支持: 1. **Regex类**:这是正则表达式...

    解读 C# 中的正则表达式

    这里列出一些常用的正则表达式,以便在日常开发中快速查找和使用: - **匹配电子邮件地址**:`^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$` - **匹配URL**:`http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\\(\\...

Global site tag (gtag.js) - Google Analytics