`
eneasy
  • 浏览: 128338 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

Java正则表达式1

    博客分类:
  • java
阅读更多

Java正则表达式

字符类

字符

说明

[abc]

a,bc中的任意一个字符

[^abc]

a,bc中的字符外的任意一个字符(补)

[a-zA-Z]

AZaz中的任意一个字符(范围)

[a-d[m-p]]

ad,mp中的任意一个字符:[a-dm-p] ()

[a-z&&[def]]

d ,e 或者f()

[a-z&&[^def]]

z但除def外(减)

  说明:[]中只匹配单个字符.

  因为-表示范围,所以要匹配-要使用\-

预定义字符

字符

说明

.

通配符,匹配除最后行终止符\n之外的任意字符。

\

转义字符,如\\匹配\,\.匹配.\-匹配-等。

\d

数字:[0-9]

\D

非数字:[^0-9]

\s

空格字符:[\t\n\x0B\f\r]

\S

非空格字符:[^\s]

\w

单词字符:[a-bA-Z_0-9]

\W

非单词字符:[^\w]

 

 

 

 

 

 

量词

字符

说明

贪婪模式(Greedy )(默认)

勉强模式(Reluctant)

占有模式(Possessive) 

 

X?     

X??

X?+

匹配X ,01

X*

X*?

X*+

匹配X ,至少0(00次以上)

X+

X+

X++

匹配X ,至少1(11次以上)

X{n}     

X{n}?

X{n}+

匹配Xn

X{n,}

X{n,}?  

X{n,}+

匹配X,至少n

X{n,m}

X{n,m}?

X{n,m}+  

匹配X,至少n,但不多于m

  

    Greedy的表达式会一直匹配下去,直到匹配不下去为止。(如果你发现表达式匹配的结果和预期的不符),非常有可能是因为,你以为表达式会只匹配前面几个字符,而实际上他是greedy的,因此会一直匹配下去。 

    Reluctant 的表达式只匹配最少的字符。也称为lazy, minimal matching, non-greedy, ungreedy。 

    Possessive: 目前只有Java支持(其他语言都不支持)。用正则表达式匹配字符串的时候会产生非常多中间状态(一般的匹配引擎会保存这种中间状态),这样匹配失败的时候就能原路返回。占有型的表达式不保存这种中间状态,因此也就不会回头重来了。他能防止正则表达式的失控,同时也能提高运行的效率。 

 

    :要匹配美国的社会安全号码这个号码的格式是999-99-9999999999999(-可以不出现),正则表达式为:[0-9]{3}\-?[0-9]{2}\-?[0-9]{4}

边界匹配符

 

字符

说明

^

行的开头

$

行的结尾

\b

单词边界

\B

 非单词边界

\A

输入的开头

\z

输入的结尾

\Z

除最后行终止符\n之外的输入结尾

\G

 上个匹配的结尾

  说明:“^”如果用在[]括号内,表示“否”,即该字符除外。但用在[]括号外如“^X”则表示以行X开头。
   例如:

  \B 匹配非单词边界,"er\B" 能匹配 "verb" 中的 "er",但不能匹配 "never" 中的 "er"

  "\bev" 能匹配 "every" 中的 "ev",但不能匹配 "never" 中的 "ev"。 

集合操作

 

字符

说明

XY                                  

X的匹配后面跟着Y的匹配

X|Y

匹配XY

   如:java|hello 将匹配包含javahello的字符串。

   如:tool:(java|ruby|c),可以匹配tool:java,tool:ruby,tool:c,注意不能使用[],因为[]里面只能匹配单个字符。

  如:(b│cd)ef 匹配包含 "bef" 或者 "cdef"的字符串.

  如:"(a│b)*c": 匹配包含0个或多个ab,后面跟一个c的字符串。

 

lxm整理,只为知识共享之用,所有内容均来自网络,内容归所有者。

2009.04.16

 

分享到:
评论

相关推荐

    java正则表达式.zip

    Java正则表达式是Java编程语言中用于处理字符串的强大工具,它基于模式匹配的概念,能够高效地进行文本搜索、替换和解析。在Java中,正则表达式主要通过`java.util.regex`包来实现,提供了Pattern和Matcher两个核心...

    Java使用正则表达式提取XML节点内容的方法示例

    为了帮助开发者更好地掌握Java正则表达式技术,我们提供了一系列的Java正则表达式技巧大全,包括《Java正则表达式技巧大全》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧...

    java正则表达式验证IP地址

    Java正则表达式验证IP地址 Java正则表达式验证IP地址是指使用Java语言中的正则表达式来验证IP地址是否符合标准。IP地址是指在网络通信中用来标识设备的地址,它是一种逻辑地址,通过它可以找到网络中的设备。在...

    java正则表达式匹配工具

    Java正则表达式匹配工具是IT领域中一种强大的文本处理工具,它利用正则表达式(Regular Expression)的规则来查找、替换或者提取文本中的特定模式。正则表达式是一种特殊的字符序列,能够帮助程序员或者用户高效地...

    JAVA正则表达式大全

    以下是对这些文档标题所涉及的Java正则表达式知识点的详细解释: 1. **正则表达式之道** 这个主题可能涵盖了正则表达式的基础概念,包括元字符、字符类、量词和分组。元字符如`.`代表任意字符,`^`表示行首,`$`...

    Java正则表达式.ppt

    Java正则表达式是一种强大的文本处理工具,广泛用于验证字符串、查找特定模式和替换文本。在Java中,正则表达式提供了简洁而灵活的方式来处理字符串,使得编程人员能够以更高效的方式实现各种文本操作。 正则表达式...

    Java正则表达式 Java 正则表达式

    Java正则表达式是Java语言中用于处理字符串的强大工具,它允许程序员进行复杂的字符串匹配、查找和替换操作。正则表达式(Regular Expression)是一种模式匹配语言,通过特定的语法来描述字符串的模式,用于在文本中...

    使用Java正则表达式分析处理日志

    本篇将围绕“使用Java正则表达式分析处理日志”这一主题,探讨如何利用Java的正则表达式功能来提取、过滤和操作日志数据。 首先,我们需要理解正则表达式的基本概念。正则表达式(Regular Expression)是一种模式...

    java 正则表达式应用jar包 regex-smart.jar

    Java正则表达式是编程语言Java中的一个强大工具,它用于模式匹配、数据验证和文本检索替换。在Java中,正则表达式是通过java.util.regex包提供的接口和类来实现的。`regex-smart.jar`这个库显然是为了简化开发者在...

    Java 正则表达式 图片版

    Java正则表达式 Java 正则表达式 图片版 携带方便,查阅方便!~

    常用java正则表达式

    ### 常用Java正则表达式知识点 #### 一、引言 正则表达式是一种强大的工具,用于处理文本并查找模式。多种编程语言,包括Perl、PHP、Python、JavaScript以及Java等均内置了对正则表达式的支持。本文将详细介绍Java...

    使用Java正则表达式实现一个简单的身份证号码验证

    ### 使用Java正则表达式实现一个简单的身份证号码验证 #### 一、背景介绍 身份证号码是中国公民的身份标识,由15位或18位数字组成(早期为15位,后改为18位)。其中,第18位是校验码,可能是数字0~9或者大写字母X。...

    Java正则表达式测试工具

    Java正则表达式测试工具是面向开发者和爱好者的一款实用程序,它可以帮助用户验证和调试他们的正则表达式。在Java编程环境中,正则表达式是一个强大的字符串处理工具,广泛用于数据验证、文本搜索和替换等任务。这款...

    Java 正则表达式库

    Java正则表达式库是Java开发中不可或缺的一部分,它为开发者提供了一种强大的文本匹配工具。在Java中,正则表达式(Regular Expression)是一种模式匹配语言,用于处理字符串操作,如查找、替换或提取特定模式的数据...

    Java正则表达式应用总结

    Java正则表达式是编程语言Java中用于处理字符串和文本的强大工具。它允许开发者通过模式匹配来执行复杂的文本分析和操作。在Java中,正则表达式的操作主要涉及两个核心类:`java.util.regex.Matcher`和`java.util....

    Java正则表达式_动力节点Java学院整理

    Java正则表达式详解 Java正则表达式是Java语言中的一种模式匹配技术,用于匹配、查找、替换和判断字符串。它是一种强大的工具,能够帮助开发者快速处理字符串相关的任务。 什么是正则表达式? 正则表达式是一种...

    java正则表达式使用例子

    Java正则表达式是Java编程语言中用于处理字符串的强大工具,它允许我们通过模式匹配来查找、替换或分割文本。在Android开发中,正则表达式尤其重要,因为它们可以帮助我们验证用户输入、处理文本数据或者进行复杂的...

    Java正则表达式入门介绍.ppt

    Java正则表达式是编程语言Java中用于处理文本的强大工具,它源于早期的神经网络理论和数学家Stephen Kleene的工作,后来在Unix系统中得到广泛应用。在Java中,正则表达式提供了简洁的方法来匹配、查找、替换和提取...

    Java正则表达式详细讲解

    Java正则表达式是Java编程语言中用于处理字符串的强大工具,它允许程序员通过模式匹配来查找、替换或分割文本。在Java中,正则表达式是通过`java.util.regex`包提供的API来实现的。本讲解将深入探讨Java正则表达式的...

Global site tag (gtag.js) - Google Analytics