从学javascript到java,从asp到asp.net,不管那种语言,正则都是我难于愈合的痛。今天晚上准备一刀切,搞定正则。
开始,翻书。《JDK 学习笔记》,《think in java 3th》。
java是在j2se 1.4之后支持正则的,在java.util.regex.Pattern类中有相关的正则表达式的信息。
下面的这些概念要记牢
<!--
@page { size: 21cm 29.7cm; margin: 2cm }
P { margin-bottom: 0.21cm }
-->
\xhh 十六进制\0xhh的字符
\uhhh 十六进制0xhhhh表示的Unicode字符
\t 制表符
\n 换行符
\r 回车
\f 换页
\e 转义
方法 说明
. 符合任一个字符
\d 符合0-9任一个数字字符(digital)
\D 对 \d 取反
\s 符合\t, \n, \x0B, \f, \r等空格字符(space)
\w 只要是字母和数字都符合(word? 貌似不像,也不管了,就这样记忆吧)
\W 对 \w 取反
用split
来简单测试一下:
String text = "abcdebcadxbc";
String[] tokens = text.split(".bc");
for (String token : tokens) {
log(token);
}
结果:
(空格)
d
ad
怎么有空格呢!再试,这次把tokens的长度也码出来。
log(tokens.length);
结果:3。难道是匹配开头的也算?再试:
String[] tokenss = "xiaox".split(".iao");
for (String token : tokenss) {
log(token);
}
log(tokenss.length);
结果:
(空格)
x
2
果真。另外还发现一个问题,当split与字符不匹配时,返回一个长度为1的数组,而字符串就是第一个元素。
范围 作用
[abc] 符合a,b,c其中一个字符
[^abc] 只要不是a,b,c这三个字符都符合
[a-zA-Z] 字符大小定都符合
[a-dm-p] 字符a-d或者d-m的字符都符合
[a-z&&[acd]] 字符acd其中一个与a-z字符的交集
[a-z&&[^bc]] 字符a-z与bc的差集,差不多意思就是bc除外的a-z的字符
上面的需要结合贪婪量词(JDK 5学习笔记 P127,专业词,不明白啥意思)来对字符串进行匹配。
<!--
@page { size: 21cm 29.7cm; margin: 2cm }
P { margin-bottom: 0.21cm }
-->
范例 作用
X? X不出现或者一次
X* X出现或出现N次都匹配
X+ X至少出现一次才匹配
X{n} X需要出现n次才匹配
X{n,} X至少要出现n次才匹配,? X{1,} == X+
X{n, m} X出现的次数在n到m之间
<!--
@page { size: 21cm 29.7cm; margin: 2cm }
P { margin-bottom: 0.21cm }
-->
XY XY
X|Y X或Y
(X) 捕获组
<!--
@page { size: 21cm 29.7cm; margin: 2cm }
P { margin-bottom: 0.21cm }
-->
^ 一行的开始
$ 一行的结尾
\b 词界
\B 非词界
\G 上一级结尾
分享到:
相关推荐
Java正则表达式是Java编程语言中用于处理字符串的强大工具,它基于模式匹配的概念,能够高效地进行文本搜索、替换和解析。在Java中,正则表达式主要通过`java.util.regex`包来实现,提供了Pattern和Matcher两个核心...
Java正则表达式匹配工具是IT领域中一种强大的文本处理工具,它利用正则表达式(Regular Expression)的规则来查找、替换或者提取文本中的特定模式。正则表达式是一种特殊的字符序列,能够帮助程序员或者用户高效地...
Java正则表达式验证IP地址 Java正则表达式验证IP地址是指使用Java语言中的正则表达式来验证IP地址是否符合标准。IP地址是指在网络通信中用来标识设备的地址,它是一种逻辑地址,通过它可以找到网络中的设备。在...
Java正则表达式是编程语言Java中的一个强大工具,它用于模式匹配、数据验证和文本检索替换。在Java中,正则表达式是通过java.util.regex包提供的接口和类来实现的。`regex-smart.jar`这个库显然是为了简化开发者在...
本篇将围绕“使用Java正则表达式分析处理日志”这一主题,探讨如何利用Java的正则表达式功能来提取、过滤和操作日志数据。 首先,我们需要理解正则表达式的基本概念。正则表达式(Regular Expression)是一种模式...
以下是对这些文档标题所涉及的Java正则表达式知识点的详细解释: 1. **正则表达式之道** 这个主题可能涵盖了正则表达式的基础概念,包括元字符、字符类、量词和分组。元字符如`.`代表任意字符,`^`表示行首,`$`...
Java正则表达式是一种强大的文本处理工具,广泛用于验证字符串、查找特定模式和替换文本。在Java中,正则表达式提供了简洁而灵活的方式来处理字符串,使得编程人员能够以更高效的方式实现各种文本操作。 正则表达式...
Java正则表达式库是Java开发中不可或缺的一部分,它为开发者提供了一种强大的文本匹配工具。在Java中,正则表达式(Regular Expression)是一种模式匹配语言,用于处理字符串操作,如查找、替换或提取特定模式的数据...
Java正则表达式测试工具是面向开发者和爱好者的一款实用程序,它可以帮助用户验证和调试他们的正则表达式。在Java编程环境中,正则表达式是一个强大的字符串处理工具,广泛用于数据验证、文本搜索和替换等任务。这款...
### 使用Java正则表达式实现一个简单的身份证号码验证 #### 一、背景介绍 身份证号码是中国公民的身份标识,由15位或18位数字组成(早期为15位,后改为18位)。其中,第18位是校验码,可能是数字0~9或者大写字母X。...
### 常用Java正则表达式知识点 #### 一、引言 正则表达式是一种强大的工具,用于处理文本并查找模式。多种编程语言,包括Perl、PHP、Python、JavaScript以及Java等均内置了对正则表达式的支持。本文将详细介绍Java...
Java正则表达式是Java编程语言中用于处理字符串的强大工具,它允许我们通过模式匹配来查找、替换或分割文本。这个“java正则表达式截取demo”提供了一个可以直接运行的示例,帮助开发者理解如何在Java中使用正则...
Java正则表达式是Java编程语言中的一个强大工具,它用于模式匹配和字符串处理,尤其在数据验证、文本检索和替换等方面发挥着重要作用。本教程是专为初学者设计的HTML版,旨在帮助读者快速掌握Java正则表达式的概念和...
Java正则表达式是Java编程语言中用于处理字符串的强大工具,它允许我们通过模式匹配来查找、替换或分割文本。在Android开发中,正则表达式尤其重要,因为它们可以帮助我们验证用户输入、处理文本数据或者进行复杂的...
Java正则表达式是编程语言Java中用于处理字符串和文本的强大工具。它允许开发者通过模式匹配来执行复杂的文本分析和操作。在Java中,正则表达式的操作主要涉及两个核心类:`java.util.regex.Matcher`和`java.util....
Java正则表达式是Java编程语言中用于处理字符串的强大工具,它允许程序员通过模式匹配来查找、替换或分割文本。在Java中,正则表达式是通过`java.util.regex`包提供的API来实现的。本讲解将深入探讨Java正则表达式的...
Java正则表达式是编程语言中的一个重要组成部分,用于文本处理和模式匹配。Jakarta ORO(Oracle Regular Expressions for Java)是Apache软件基金会开发的一个强大的Java正则表达式库,它为开发者提供了更为灵活和...
Java正则表达式 Java 正则表达式 图片版 携带方便,查阅方便!~