`

正则表达式小结

 
阅读更多

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编程语言中的一个强大工具,它用于在字符串中进行模式匹配和查找、替换等操作。在本文中,我们将深入探讨Java正则表达式的概念、语法以及如何在实际编程中使用它们。 1. **正则表达式基础** -...

    C#正则表达式小结(常用的正则表达式)

    ### C#中的正则表达式应用详解 在软件开发领域,正则表达式是一种非常强大的文本处理工具。本文将基于给定的标题、描述及部分示例内容,深入解析常用的几种正则表达式及其应用场景。 #### 1. 数字相关的正则表达式...

    详解Java判断是否是整数,小数或实数的正则表达式

    ### 小结 在Java中使用正则表达式进行数值判断是高效且实用的方法。通过正则表达式,我们可以精确地定义并匹配字符串的格式,从而有效地完成输入验证。该方法适用于各种需要对输入数据进行格式化验证的场景,例如...

    C#正则表达式小结.doc

    C#正则表达式是.NET框架中用于处理字符串模式匹配的强大工具,它允许开发者通过预定义的模式来检查、搜索、替换或者提取文本中的特定部分。以下是对C#正则表达式常用知识点的详细说明: 1. **数字验证**: - `^[0-...

    清华大学精品Python学习PPT课件-第5章 Python正则表达式.pptx

    这部分可能包含实践练习,以巩固学习到的字符串和正则表达式知识,小结则总结本章的关键概念和技术,帮助学习者巩固理解并准备应对实际问题。 总的来说,掌握Python中的字符串处理和正则表达式是任何Python开发者...

    个人 正则表达式 学习小结

    ### 正则表达式基础学习小结 正则表达式是一种强大的文本匹配工具,用于在字符串中查找或替换模式。本文将对正则表达式的几个关键概念进行详细解析,包括元字符、字符类、量词以及边界匹配等,旨在帮助初学者理解并...

    正则表达式匹配算法小结

    ### 正则表达式匹配算法概述 正则表达式(Regular Expression, 简称 Regex 或 RE)是一种用于描述字符序列的模式语言,被广泛应用于文本处理、数据验证以及搜索等场景。正则表达式的匹配算法是实现这些功能的基础,...

    常用 正则表达式 集合

    ### C#正则表达式小结 #### 1. 数字匹配 - **任意数字**:`"^[0-9]*$"` 匹配任意长度的数字串。 - **恰好n位数字**:`"^\d{n}$"` 匹配恰好n位数字的字符串。 - **至少n位数字**:`"^\d{n,}$"` 匹配至少n位...

    jQuery中校验时间格式的正则表达式小结

    本文将深入探讨如何使用正则表达式来校验时间格式,并以jQuery为例,展示具体实现方法。 首先,我们关注的核心正则表达式是`/^([0-2][0-9]):([0-5][0-9]):([0-5][0-9])$/`。这个正则表达式用于检查输入的时间字符串...

    shell编程 之 正则表达式

    #### 小结 通过以上介绍可以看出,正则表达式在Shell编程中有着广泛的应用,无论是简单还是复杂的文本处理任务,都能通过合理构建正则表达式来高效解决。掌握好正则表达式的基本语法和高级用法,能够极大地提高...

    精通正则表达式~~~

    精通正则表达式第三版 搜集于网络 前言..........I 第1章:正则表达式入门.... 1 解决实际问题... 2 作为编程语言的正则表达式... 4 以文件名做类比... 4 以语言做类比... 5 正则表达式的知识框架... 6 对于...

    数据库中使用正则表达式小结

    数据库中使用正则表达式是一种强大的文本匹配和验证方式,它允许开发者或数据库管理员通过编写模式来检查、搜索或替换特定格式的字符串。以下是在数据库中使用正则表达式的一些关键知识点。 首先,正则表达式提供了...

    js:校验IPv6地址的正则表达式

    jquery 正整数数字校验正则表达式JavaScript正则表达式校验非零的正整数实例利用js正则表达式校验正数、负数、和小数Javascript校验密码复杂度的...格式的正则表达式小结校验普通电话、传真号码的正则表达式(可以+开头...

    匹配移动/联通/电信手机号码正则表达式小结

    需要注意的是,手机号码规则可能会随着政策的变化而变化,因此,在使用正则表达式验证手机号码时,也要随时关注相关的变化,及时更新正则表达式规则。此外,正则表达式在不同的编程语言中使用方式基本相同,但在某些...

    正则表达式学习笔记小结分享

    修饰符如 `i`(忽略大小写)、`g`(全局匹配)和 `m`(多行匹配)可以改变正则表达式的匹配行为。 字符集合用于指定一组允许的字符,如 `[abc]` 匹配任意一个 'a'、'b' 或 'c'。`[^abc]` 则匹配除 'a'、'b' 和 'c' ...

Global site tag (gtag.js) - Google Analytics