1.Matcher 中的带参数的reset方法可以重复使用一个matcher ,提高效率。
2.在匹配模式前加?是懒惰模式,有的时候很有用
static Pattern pattern = Pattern.compile("(?<=角色{1,200})(?::.+?:)(\\d+)"); static String str = "角色:管理员:123,员工:张三:222,角色:经营部成员:1234,员工:信息:333"; public static void test(){ Matcher matcher = pattern.matcher(str); while(matcher.find()){ System.out.println(matcher.start()); System.out.println(matcher.end()); System.out.println(matcher.group(1)); System.out.println("---------------------"); } } 这里我要匹配123和1234 如果 (?::.+?:) 换成 (?::.+:) 就是贪婪模式 .+会尽可能匹配多的字符,这样的话 我得到的结果就永远只有最后一个。
3.(?:)这样的话这个括号的组不会被捕获
4.零度断言
(?=exp) | 匹配exp前面的位置 |
(?<=exp) | 匹配exp后面的位置 |
(?!exp) | 匹配后面跟的不是exp的位置 |
(?<!exp) |
匹配前面不是exp的位置
|
5.appendReplacement
public static void cc(){ Matcher matcher = Pattern.compile("\\D+", Pattern.DOTALL).matcher("a1b3c4"); StringBuffer str = new StringBuffer(); while(matcher.find()){ matcher.appendReplacement(str, matcher.group()+"#"); System.out.println(matcher.group()); } matcher.appendTail(str); System.out.println(str.toString()); }
这里结果会变成a#1b#3c#4
这是一种比较高级的替换,比replace方法要更灵活。
相关推荐
Java正则表达式是Java编程语言中的一个强大工具,它用于在字符串中进行模式匹配和查找、替换等操作。在本文中,我们将深入探讨Java正则表达式的概念、语法以及如何在实际编程中使用它们。 1. **正则表达式基础** -...
### C#中的正则表达式应用详解 在软件开发领域,正则表达式是一种非常强大的文本处理工具。本文将基于给定的标题、描述及部分示例内容,深入解析常用的几种正则表达式及其应用场景。 #### 1. 数字相关的正则表达式...
### 小结 在Java中使用正则表达式进行数值判断是高效且实用的方法。通过正则表达式,我们可以精确地定义并匹配字符串的格式,从而有效地完成输入验证。该方法适用于各种需要对输入数据进行格式化验证的场景,例如...
C#正则表达式是.NET框架中用于处理字符串模式匹配的强大工具,它允许开发者通过预定义的模式来检查、搜索、替换或者提取文本中的特定部分。以下是对C#正则表达式常用知识点的详细说明: 1. **数字验证**: - `^[0-...
这部分可能包含实践练习,以巩固学习到的字符串和正则表达式知识,小结则总结本章的关键概念和技术,帮助学习者巩固理解并准备应对实际问题。 总的来说,掌握Python中的字符串处理和正则表达式是任何Python开发者...
### 正则表达式基础学习小结 正则表达式是一种强大的文本匹配工具,用于在字符串中查找或替换模式。本文将对正则表达式的几个关键概念进行详细解析,包括元字符、字符类、量词以及边界匹配等,旨在帮助初学者理解并...
### 正则表达式匹配算法概述 正则表达式(Regular Expression, 简称 Regex 或 RE)是一种用于描述字符序列的模式语言,被广泛应用于文本处理、数据验证以及搜索等场景。正则表达式的匹配算法是实现这些功能的基础,...
### C#正则表达式小结 #### 1. 数字匹配 - **任意数字**:`"^[0-9]*$"` 匹配任意长度的数字串。 - **恰好n位数字**:`"^\d{n}$"` 匹配恰好n位数字的字符串。 - **至少n位数字**:`"^\d{n,}$"` 匹配至少n位...
本文将深入探讨如何使用正则表达式来校验时间格式,并以jQuery为例,展示具体实现方法。 首先,我们关注的核心正则表达式是`/^([0-2][0-9]):([0-5][0-9]):([0-5][0-9])$/`。这个正则表达式用于检查输入的时间字符串...
#### 小结 通过以上介绍可以看出,正则表达式在Shell编程中有着广泛的应用,无论是简单还是复杂的文本处理任务,都能通过合理构建正则表达式来高效解决。掌握好正则表达式的基本语法和高级用法,能够极大地提高...
精通正则表达式第三版 搜集于网络 前言..........I 第1章:正则表达式入门.... 1 解决实际问题... 2 作为编程语言的正则表达式... 4 以文件名做类比... 4 以语言做类比... 5 正则表达式的知识框架... 6 对于...
数据库中使用正则表达式是一种强大的文本匹配和验证方式,它允许开发者或数据库管理员通过编写模式来检查、搜索或替换特定格式的字符串。以下是在数据库中使用正则表达式的一些关键知识点。 首先,正则表达式提供了...
jquery 正整数数字校验正则表达式JavaScript正则表达式校验非零的正整数实例利用js正则表达式校验正数、负数、和小数Javascript校验密码复杂度的...格式的正则表达式小结校验普通电话、传真号码的正则表达式(可以+开头...
需要注意的是,手机号码规则可能会随着政策的变化而变化,因此,在使用正则表达式验证手机号码时,也要随时关注相关的变化,及时更新正则表达式规则。此外,正则表达式在不同的编程语言中使用方式基本相同,但在某些...
修饰符如 `i`(忽略大小写)、`g`(全局匹配)和 `m`(多行匹配)可以改变正则表达式的匹配行为。 字符集合用于指定一组允许的字符,如 `[abc]` 匹配任意一个 'a'、'b' 或 'c'。`[^abc]` 则匹配除 'a'、'b' 和 'c' ...