`
haiyupeter
  • 浏览: 418608 次
  • 性别: 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 引用 <
分享到:
评论

相关推荐

    java正则表达式验证

    java使用正则表达式进行校验验证,主要使用了Pattern和Matcher类,直接main方法运行就可以,亲测有效

    JAVA 正则表达式 教程

    该教程中所介绍的正则表达式应用仅仅是最为简单的(并没有完全地涉及到 Pattern 类支持的所有正则表达式语法,也没有涉及到高级的应用),适合于从未接触过或者是尚未完全明白正则表达式基础的学习者。在学习完该...

    JAVA正则表达式大全

    正则表达式之道.doc 正则表达式中的特殊字符.doc Java正则表达式详解.doc 正则表达式.ppt JAVA正则表达式--Pattern和Matcher.doc 例子

    精通正则表达式基于.NET ASP PHP JSP JavaScript

    RegexApplication/Default.aspx 正则表达式类的应用 RegexApplication/GetPageHtmlData.aspx 获取网页的内容 第10章(/10/) ASPNETValidator/Compare.aspx 比较验证 ASPNETValidator/...

    Oracle通过正则表达式分割字符串 REGEXP_SUBSTR的代码详解

    pattern :进行匹配的正则表达式 position :起始位置,从第几个字符开始正则表达式匹配(默认为1) occurrence :标识第几个匹配组,默认为1 modifier :模式(‘i’不区分大小写进行检索;’c’区分大小写进行...

    正则表达式

    Pattern对象是正则表达式编译后在内存中的表示形式,因此,正则表达式字符串必须先编译为Pattern对象,然后再利用该Pattern对象创建对应的Matcher对象,执行匹配所涉及的状态保留在Matcher对象中,多个Matcher对象可...

    精通正则表达式~~~

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

    JAVA正则表达式--Pattern和Matcher

    JAVA正则表达式--Pattern和Matcher 现在JDK1.4里终于有了自己的正则表达式API包,JAVA程序员可以免去找第三方提供的正则表达式库的周折了,我们现在就马上来了解一下这个SUN提供的­迟来恩物- -对我来说确实如此。...

    js常用的正则表达式

    正则表达式(regular expression)对象包含一个正则表达式模式(pattern)。它具有用正则表达式模式去匹配或代替一个串(string)中特定字符(或字符集合)的属性(properties)和方法(methods)。 正则表达式构造函数: new ...

    python-数字正则表达式.docx

    例如,要匹配字符串"123"中的整数,可以使用如下代码: import re pattern = r'\d+' string = '123' result = re.match(pattern, string) python-数字正则表达式全文共3页,当前为第1页。 print(result.group()) ...

    高效的正则表达式匹配架构设计

    A Scalable Architecture For High-Throughput Regular-Expression Pattern Matching

    java正则表达式介绍

    在java中如何正确使用正则表达式.包括使用和匹配方式等

    正则表达式大全案例分析案例介绍

    Pattern类用于编译正则表达式,而Matcher类则用于在文本中进行匹配。 String regex = "pattern"; String input = "string"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(input);...

    正则表达式测试工具

    自制的正则表达式测试工具,源码如下: /** * @Project: regutil * @Title: MainFrame.java * @Package com.zhang * @Description: 正则表达式工具 * @author zhanghongbin mypczhanghongbin@gmail.com * @date ...

    JavaScript正则表达式

    1、正则表达式是描述字符模式的对象,正则表达式用于对字符串模式匹配及检索替换,是对字符串执行模式匹配的强大工具。 2、String和RegExp都定义了使用正则表达式进行强大的模式匹配和文本检索与替换的函数。 3、...

    Oracle正则表达式使用介绍

    语法: –1.REGEXP_SUBSTR与SUBSTR函数相同,返回截取的子字符串 REGEXP_SUBSTR(srcstr, pattern [, position [, occurrence [, match_option]]]) 注: srcstr 源字符串 pattern 正则表达式样式 position 开始匹配...

    在C++/CLI使用正则表达式分析字符串

    在C++/CLI使用正则表达式分析字符串 "one\ttwo three:four,five six seven"; 结果 pattern : '[a-zA-Z]*' text : 'one two three:four,five six seven' one two three four five six seven Number of Words : 7

    JAVA正则表达式 Pattern和Matcher

    JAVA正则表达式 Pattern和Matcher,详细说明正则表达式的应用

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  捕获组