Jafe Lee

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  49 随笔 :: 0 文章 :: 24 评论 :: 0 Trackbacks
1、元字符(metacharacters):元字符是指那些可以代表特殊含义的字符,java.util.regex支持的元字符包括([{\^-$|]})?*+.。注意,在某些时候这些特殊的字符并不一定代表特殊含义,例如 - 在[a-c]中是元字符,但在 a-c 则不表示特殊含义。不过上面没列出的字符则一定不会代表特殊含义。

2、可以对元字符进行转义,主要有两种方法:
  • 在元字符前面加一个反斜杠 (backslash)\
  • 用 \Q 和 \E包含起来,例如 \? == \Q?\E
3、Character Classes :这里的class并不是Java中的class,在正则表达式中,一个character class是由一系列包含在方括号中的字符组成,它能在输入的一系列字符串中匹配一个字符,例如[a-d]匹配a, b, c, d,中的任何一个字符。再看下面一个例子(摘自java.sun.com

Character Classes
[abc] a, b, or c (simple class)
[^abc] Any character except a, b, or c (negation)
[a-zA-Z] a through z, or A through Z, inclusive (range)
[a-d[m-p]] a through d, or m through p: [a-dm-p] (union)
[a-z&&[def]] d, e, or f (intersection)
[a-z&&[^bc]] a through z, except for b and c: [ad-z] (subtraction)
[a-z&&[^m-p]] a through z, and not m through p: [a-lq-z] (subtraction)

4、Character Classes 之间的运算:从上面的表格也可以看出 character classes包含了几个跟集合操作很相似的操作:例如negation(补)、union(并)、intersection(交)、subtraction(差)。由上面的表格也可以看出两个Character Classes之间的运算只需要简单地将一个Character Classes嵌入到另一个Character Classes并使用正确的操作符就可以了。

5、Predefined Character Classes:java.util.regex.* 包含了一些预先定义的 Character Classes,在实际中可以很方便地运用:(摘自 java.sun.com )

Predefined Character Classes
. Any character (may or may not match line terminators)
\d A digit: [0-9]
\D A non-digit: [^0-9]
\s A whitespace character: [ \t\n\x0B\f\r]
\S A non-whitespace character: [^\s]
\w A word character: [a-zA-Z_0-9]
\W A non-word character: [^\w]

posted on 2007-12-10 09:58 Jafe Lee 阅读(498) 评论(0)  编辑  收藏 所属分类: Java

只有注册用户登录后才能发表评论。


网站导航: