`
haiyupeter
  • 浏览: 426005 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Pattern正则表达式

    博客分类:
  • Java
阅读更多

Pattern (Java 2 Platform SE 6)

java.util.regex  
类 Pattern

java.lang.Object

  继承者 java.util.regex.Pattern

所有已实现的接口:
Serializable

public final class Pattern
extends Object
implements Serializable

正则表达式的编译表示形式。

指定为字符串的正则表达式必须首先被编译为此类的实例。然后,可将得到的模式用于创建  Matcher   对象,依照正则表达式,该对象可以与任意字符序列 匹配。执行匹配所涉及的所有状态都驻留在匹配器中,所以多个匹配器可以共享同一模式。

因此,典型的调用顺序是

 Pattern p = Pattern.compile

("a*b");
 Matcher m = p.matcher

("aaaaab");
 boolean b = m.matches

();

在仅使用一次正则表达式时,可以方便地通过此类定义  matches   方法。此方法编译表达式并在单个调用中将输入序列与其匹配。语句

 boolean b = Pattern.matches("a*b", "aaaaab");
等效于上面的三个语句,尽管对于重复的匹配而言它效率不高,因为它不允许重用已编译的模式。

此类的实例是不可变的,可供多个并发线程安全使用。Matcher   类的实例用于此目的则不安全。

正则表达式的构造摘要

非捕获组 构造 匹配   字符   字符类   预定义字符类   POSIX 字符类(仅 US-ASCII)   java.lang.Character 类(简单的 java 字符类型 )   Unicode 块和类别的类   边界匹配器   Greedy 数量词   Reluctant 数量词   Possessive 数量词   Logical 运算符   Back 引用 <
分享到:
评论

相关推荐

    PB实现的正则表达式

    在IT领域,正则表达式(Regular Expression,简称regex)是一种强大的文本处理工具,它能够进行复杂的模式匹配、查找、替换等操作。在本话题中,我们将探讨如何使用PowerBuilder 11.5这一经典的开发环境来实现正则...

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

    Java使用正则表达式提取XML节点内容的方法示例 Java使用正则表达式提取XML节点内容的方法示例主要介绍了Java使用正则表达式提取XML节点内容的方法,结合具体实例形式分析了java针对xml格式字符串的正则匹配相关操作...

    正则表达式测试工具C#版(src)

    - `Regex.IsMatch(input, pattern)`:检查输入字符串是否符合给定的正则表达式模式。 - `Regex.Match(input, pattern)`:返回输入字符串的第一个匹配项。 - `Regex.Matches(input, pattern)`:返回输入字符串中...

    C语言正则表达式库

    C语言正则表达式库是用于在C编程环境中处理和匹配正则表达式的软件库。这个库名为PCRE(Perl Compatible Regular Expressions),正如其名,它与Perl语言中的正则表达式语法高度兼容,提供了丰富的功能和强大的匹配...

    java正则表达式.zip

    在Java中,正则表达式主要通过`java.util.regex`包来实现,提供了Pattern和Matcher两个核心类。 **1. Pattern类** Pattern类是Java正则表达式的起点,它将一个正则表达式编译成一个模式对象。这个编译过程可以优化...

    java正则表达式匹配工具

    在Java中,正则表达式的使用主要依赖于`java.util.regex`包中的类,如`Pattern`和`Matcher`。 首先,我们来看`Pattern`类。这个类是正则表达式的模板,负责编译和存储正则表达式。一旦正则表达式被编译为`Pattern`...

    c++写的正则表达式验证工具

    在IT行业中,正则表达式(Regular Expression)是一种强大的文本处理工具,用于匹配、查找、替换等操作。C++作为一种通用编程语言,虽然标准库中没有内置正则表达式支持,但通过第三方库如Boost,我们可以很方便地在...

    正则表达式调试工具

    正则表达式(Regular Expression,简称regex)是用于在文本中匹配特定模式的强大工具,广泛应用于数据验证、搜索替换和文本处理等领域。正则表达式调试工具是开发人员用来测试和优化这些模式的重要辅助工具。本文将...

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

    1. **编译正则表达式**:使用`Pattern.compile()`方法创建一个`Pattern`对象,例如`Pattern pattern = Pattern.compile("你的正则表达式")`。 2. **创建Matcher对象**:使用`Pattern`对象的`matcher()`方法,传入...

    强大的正则表达式生成工具 C#版

    正则表达式是一种强大的文本处理工具,用于在字符串中进行模式匹配和搜索替换操作。C#作为.NET框架的一部分,提供了全面支持正则表达式的类库,使得开发人员能够方便地利用正则表达式进行复杂的文本处理任务。在这个...

    测试正则表达式软件

    1. **Pattern**:表示一个正则表达式模式,可以通过`Pattern.compile(String regex)`静态方法创建。 2. **Matcher**:根据Pattern对象生成,用于执行匹配操作。通过`pattern.matcher(input)`方法获取。 正则表达式...

    JAVA正则表达式大全

    这份文档可能深入讲解了`Pattern`和`Matcher`类的用法,如`Pattern.compile()`用于编译正则表达式,`Matcher.find()`用于查找字符串中的匹配部分,`Matcher.group()`获取匹配的子串,以及如何使用`Pattern.split()`...

    qt正则表达式测试工具

    例如,`QRegExp("pattern")` 创建了一个匹配"pattern"的正则表达式。 2. **模式修饰符**:QRegExp支持模式修饰符来改变匹配行为。例如,`QRegExp("pattern", Qt::CaseInsensitive)` 会让匹配变为不区分大小写。 3....

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

    该工具类使用了`java.util.regex`包中的`Pattern`和`Matcher`类来完成正则表达式的编译和匹配工作。以下是几个重要的方法说明: - `isPositiveInteger`:验证是否为正整数。 - `isNegativeInteger`:验证是否为负...

    常用正则表达式HTML,JAVA合集

    Java提供了`java.util.regex`包,通过`Pattern`和`Matcher`类支持正则表达式。以下是如何在Java中验证电话号码的一个例子: ```java import java.util.regex.Pattern; import java.util.regex.Matcher; String...

    第11.25节 Python正则表达式编译re.compile及正则对象使用.rar

    `re.compile(pattern, flags=0)`函数接收一个字符串`pattern`作为参数,返回一个正则表达式对象。这个对象可以被用来执行各种正则表达式操作,如匹配、查找、替换等。`flags`参数是可选的,用于设置匹配模式,例如...

    源码(精通正则表达式&实战正则表达式)

    在JavaScript环境中,正则表达式与其他语言有所不同,它既支持字面量表示法(如`/pattern/flags`),也支持构造函数表示法(如`new RegExp('pattern', 'flags')`)。此外,JavaScript提供了`test()`、`match()`、`...

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

    1. **Pattern类**:这是正则表达式的核心,用于编译正则表达式并创建模式对象。一旦编译完成,该模式可以多次使用,提高了效率。例如: ```java Pattern pattern = Pattern.compile("^[a-zA-Z0-9]+$"); ``` 2. *...

    正则表达式入门与提高---整理版_VBa_正则式_

    首先,创建一个`RegExp`对象,然后设置其`Pattern`属性为我们要匹配的正则表达式模式。例如: ```vba Dim regEx As Object Set regEx = CreateObject("VBScript.RegExp") regEx.Pattern = "\d+" '匹配一个或多个...

    java_zhengze.rar_正则表达式_正则表达式 java

    在Java中,正则表达式通常与`Pattern`和`Matcher`两个类一起使用。`Pattern`类用于编译正则表达式,而`Matcher`类则用于执行匹配操作。例如,我们可以这样创建一个`Pattern`对象并进行匹配: ```java String regex ...

Global site tag (gtag.js) - Google Analytics
x 字符  x
\\ 反斜线字符
\0 n 带有八进制值  0   的字符  n   (0 <=  n  <=  7)
\0 nn 带有八进制值  0   的字符  nn   (0 <=  n  <=  7)
\0 mnn 带有八进制值  0   的字符  mnn (0 <=  m  <=  3、0 <=  n  <=  7)
\x hh 带有十六进制值 0x   的字符  hh
\u hhhh 带有十六进制值 0x   的字符  hhhh
\t 制表符 ('\u0009' )
\n 新行(换行)符 ('\u000A' )
\r 回车符 ('\u000D' )
\f 换页符 ('\u000C' )
\a 报警 (bell) 符 ('\u0007' )
\e 转义符 ('\u001B' )
\c x 对应于  x   的控制符
[abc] ab    c (简单类)
[^abc] 任何字符,除了  ab    c (否定)
[a-zA-Z] a    z    A    Z ,两头的字母包括在内(范围)
[a-d[m-p]] a    d    m    p[a-dm-p] (并集)
[a-z&&[def]] de    f (交集)
[a-z&&[^bc]] a    z ,除了  b    c[ad-z] (减去)
[a-z&&[^m-p]] a    z ,而非  m    p[a-lq-z] (减去)
. 任何字符(与行结束符 可能匹配也可能不匹配)
\d 数字:[0-9]
\D 非数字:  [^0-9]
\s 空白字符:[ \t\n\x0B\f\r]
\S 非空白字符:[^\s]
\w 单词字符:[a-zA-Z_0-9]
\W 非单词字符:[^\w]
\p{Lower} 小写字母字符:[a-z]
\p{Upper} 大写字母字符:[A-Z]
\p{ASCII} 所有 ASCII:[\x00-\x7F]
\p{Alpha} 字母字符:[\p{Lower}\p{Upper}]
\p{Digit} 十进制数字:[0-9]
\p{Alnum} 字母数字字符:[\p{Alpha}\p{Digit}]
\p{Punct} 标点符号:!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
\p{Graph} 可见字符:[\p{Alnum}\p{Punct}]
\p{Print} 可打印字符:[\p{Graph}\x20]
\p{Blank} 空格或制表符:[ \t]
\p{Cntrl} 控制字符:[\x00-\x1F\x7F]
\p{XDigit} 十六进制数字:[0-9a-fA-F]
\p{Space} 空白字符:[ \t\n\x0B\f\r]
\p{javaLowerCase} 等效于 java.lang.Character.isLowerCase()
\p{javaUpperCase} 等效于 java.lang.Character.isUpperCase()
\p{javaWhitespace} 等效于 java.lang.Character.isWhitespace()
\p{javaMirrored} 等效于 java.lang.Character.isMirrored()
\p{InGreek} Greek 块(简单 )中的字符
\p{Lu} 大写字母(简单类别
\p{Sc} 货币符号
\P{InGreek} 所有字符,Greek 块中的除外(否定)
[\p{L}&&[^\p{Lu}]]  所有字母,大写字母除外(减去)
^ 行的开头
$ 行的结尾
\b 单词边界
\B 非单词边界
\A 输入的开头
\G 上一个匹配的结尾
\Z 输入的结尾,仅用于最后的结束符 (如果有的话)
\z 输入的结尾
X ? X ,一次或一次也没有
X * X ,零次或多次
X + X ,一次或多次
X { n } X ,恰好  n  
X { n ,} X ,至少  n  
X { n , m } X ,至少  n   次,但是不超过  m  
X ?? X ,一次或一次也没有
X *? X ,零次或多次
X +? X ,一次或多次
X { n }? X ,恰好  n  
X { n ,}? X ,至少  n  
X { n , m }? X ,至少  n   次,但是不超过  m  
X ?+ X ,一次或一次也没有
X *+ X ,零次或多次
X ++ X ,一次或多次
X { n }+ X ,恰好  n  
X { n ,}+ X ,至少  n  
X { n , m }+ X ,至少  n   次,但是不超过  m  
XY X   后跟  Y
X | Y X    Y
( X ) X,作为捕获组
\ n 任何匹配的  n th  捕获组