在web开发中正则表达式经常被使用,前台后台都支持正则,之前都是用到某个特定的功能去网上搜对应的表达式。最近项目用到,做完后做了一个系统的正则表达式学习,总结一下。
我写的肯定不是最全面的,而是入门的,让你感觉正则很简单
- 正则表达式的作用是“匹配某种格式的文本”,匹配的作用是对文本进行处理,如:网页内容去标签、修改内容,基本上都是用replace来对匹配的文本处理。
String inputStr; //要替换的字符串
String replaceStr; //要替换成的字符串
Pattern pattern = Pattern.compile(regExp);
Matcher matcher = pattern.matcher(inputStr);
matcher.replaceAll(replaceStr);
-
重点来了:如何写正则。首先明确下正则里有哪些元素,如"^[A-Za-z]+$"这样一个表达式,如何去理解。列举的不全,只为理解,要更深入就要去查更全的资料。
- 通配符:
字符通配符 如 . (任何) \s(空白符) \w(大小写字母) \d(数字) 这些都是常用的,可以记住。而\S就是非空格符,代表反义,其余可以类推。 当然还有常规的a就是匹配a,如果是\则需要用\\来代表
位置通配符 ^( 开头) $(结尾) \b(间隔) 间隔意思是前后不都是\s 。举个例子,\ba 只匹配"aaa a aa"中加粗的a,但注意,\b不等于\s一个代表位置,可以想象为a与前面空格之间的一个位置。
-
括号的含义: (abc) 代表分组,什么意思呢, abcd 中的abc会被这个正则所匹配到(以下用~来代表匹配到)
[abc]代表单字模式,就是匹配单个字,abcd中的a ~ [abc] b~[abc] c~[abc]。
{abc}代表数量,更好理解了{5}就是出现5次,{2,4}就是出现了2到4次,*和+特殊,*是{0,无穷},+是{1,无穷}
组合起来举几个例子:
(abc)[abc]{3} ~ abcbac, abcbbb, abcaaa,abccaa.......
(ab[ab]c*){2} ~ abaccccabbcccccc
- 逻辑:地球人都懂, | (或)。 例子a|b (ab)|(ac)
- 贪婪与懒惰: a.*b a.*?b 匹配abbbbb,前者~abbbbb, 后者~ab。后者懒,只要碰到满足的就够了。
- 断言:a(?=b)是什么意思呢,后面那个就是断言,代表跟着的是b。匹配ab中的a,但不匹配ac中的a。意思就是后面跟着b的a。
- 注释(?#comment)。注释大家都懂。
这下就可以去看例子了,多看几个自己也会写了。
java中如何使用正则表达式
String string = "<span class=\"dddd\">P</span><span class=\"eeee\">P</span>";
Pattern p = Pattern.compile("<[^>]*?>");
Matcher m = p.matcher(matchScore);
string = m.replaceAll("");
System.out.println(string);
输出 PP
首先定义个Pattern ,然后根据Pattern去match目标字符串。
m.group()表示匹配到的串
m.replaceAll("")也很常用
分享到:
相关推荐
正则表达式是一种强大的文本处理工具,用于在字符串中...而这份"正则表达式入门与提高---整理版"文档将是你学习正则表达式的好帮手,它涵盖了基础概念、常用模式以及实例解析,是深入理解和运用正则表达式的好资源。
本资源"正则表达式入门经典"是由(美)瓦特编著的扫描版,旨在帮助初学者快速掌握这一技术。 正则表达式的基本概念: 1. **元字符**:如`.`, `*`, `+`, `?`, `{}`, `[]`, `\`, `^`, `$`等,它们具有特殊含义,用来...
正则表达式是一种强大的文本处理工具,用于匹配、查找、替换和提取字符串模式。它在各种编程语言和脚本环境...在"正则表达式入门与提高.doc"文档中,你将找到更多实例和详细解释,帮助你深入理解并熟练运用正则表达式。
正则表达式入门经典.(美)瓦特.扫描版.pdf 经典书籍
《正则表达式入门经典》由美国作家Andrew Watt所著,这本书为初学者提供了全面而详细的正则表达式知识,通过书签版的设置,方便读者快速定位和复习关键概念。 正则表达式的基本结构包括字符、元字符和量词。字符是...
本资源“正则表达式入门经典”是一本旨在帮助初学者掌握这一强大工具的书籍,通过学习,你可以更好地理解和运用正则表达式。 在编程和数据处理领域,正则表达式扮演着至关重要的角色。它是一种特殊的字符序列,可以...
在"正则表达式入门.doc"文档中,你将学习到正则表达式的基础知识,包括基本元字符、修饰符、预定义字符类以及更高级的构造。 1. **基本元字符**:正则表达式中最基础的是元字符,它们具有特殊含义,如`.`代表任意...
"正则表达式入门30分钟"这个教程可能是为了快速介绍正则表达式的基本概念和常用语法,帮助初学者快速掌握这一强大的工具。下面是一些正则表达式的核心概念和常见用法: 1. **基础元素**: - **字符匹配**:例如,`...
这篇入门笔记实例将带你深入了解正则表达式的使用。 1. **正则表达式基础** - **模式定义**:正则表达式由特殊字符(元字符)和普通字符组成,用于描述文本模式。 - **创建方式**:可以使用`/pattern/flags`或`...
正则表达式是一种特殊的文本模式,用于在字符串中查找和匹配符合特定规则的子串。它是文本处理不可或缺的工具之一,广泛应用于编程语言、文本编辑器、搜索引擎以及各种编程和脚本语言中。正则表达式的能力远超简单的...
这两本入门教程,"正则表达式教程.chm" 和 "正则表达式入门教程.doc",将帮助初学者快速掌握这一技术。 首先,我们来看"正则表达式教程.chm"可能涵盖的内容。CHM是Microsoft的 Compiled HTML Help 文件,通常包含一...
正则表达式(Regular Expression)是一种强大的文本处理工具,它是一种模式匹配语言,用于在文本中查找、替换或提取符合特定规则的字符串。在多种编程语言中,如Perl、Java、JavaScript、C#、PHP、Python、Ruby、Tcl、...
正则表达式语法,句例,口诀,使用详解,教程等等内容
正物色一本学习正则表达式的入门图书?恭喜,《学习正则表达式》非常适合你!本书提供大量经典简洁的示例,从零开始教你逐步掌握正则表达式。通过匹配特定单词、字符和模式,读者很快就可以自己动手使用正则表达式...
正则表达式入门教程——正则表达式30分钟入门教程.mht 正则表达式入门教程——正则表达式30分钟入门教程.mht 正则表达式入门教程——正则表达式30分钟入门教程.mht