Monday, January 28, 2008

正则表达式学习笔记

------------------------2004/9/19--------------------------------
=======限定符:

*,描述“出现 0 或多次”

+,描述“出现 1 或多次”

?,描述“出现 0 或 1 次”

x{ , }

ab{2,3}c

=======元字符:

. 匹配任何单字符

.* 任意字符串

^ 元字符可指定字符串(或行)的开始 ^c:\\ ==>c:\ 后跟任何其他内容

$ 元字符可指定字符串(或行)的结束 abc$ ==>以 abc 结束的任意字符串

\ 转义字符

|

--------------------------------------2004/10/7----------------------------------------------
=======字符类:
字符类是正则表达式中的“迷你”语言,在方括号 [ ] 中定义
连字符 - 来定义字符的范围
因此,字符在(例如)ASCII 或 Unicode 表中出现的顺序确定了在范围中包括的字符。如果需要在范围中包括连字符,将它指定为第一个字符。例如:[-.? ] 将匹配 4 个字符中任何一个字符(注意,最后的字符是个空格)。
如 果使用字符 ^ 作为字符类的第一个字符来否定此类,也可以匹配字符类成员以外的任何字符。因此,要匹配任何非元音字符,可以使用字符类 [^aAeEiIoOuU]。注意,如果要否定连字符,应将连字符作为字符类的第二个字符,如 [^-]。记住,^ 在字符类中的作用与它在正则表达式模式中的作用完全不同:就是在[]里的^(否定)不同于一般的元字符^(开始)。
[aeiou] 元音中的一个
[a-z] [A-Z] 单个的字符
[0123456789] 等价于 \d{1}

=======预定义的集合元字符

\a
匹配铃声(警报);\u0007

\b
匹配字符类外的字边界,它匹配退格字符,\u0008

\t
匹配制表符,\u0009

\r
匹配回车符,\u000D

\w
匹配垂直制表符,\u000B

\f
匹配换页符,\u000C

\n
匹配新行,\u000A

\e
匹配转义符,\u001B

\040
匹配 3 位 8 进制 ASCII 字符。\040 表示空格(十进制数 32)。

\x20
使用 2 位 16 进制数匹配 ASCII 字符。此例中,\x2- 表示空格。

\cC
匹配 ASCII 控制字符,此例中是 ctrl-C。

\u0020
使用 4 位 16 进制数匹配 Unicode 字符。此例中 \u0020 是空格。

\*
不代表预定义字符类的任意字符都只作为该字符本身对待。因此,\* 等同于 \x2A(是文字 *,不是 * 元字符)。

\p{name}
匹配已命名字符类“name”中的任意字符。支持名称是 Unicode 组和块范围。例如,Ll、Nd、Z、IsGreek、IsBoxDrawing 和 Sc(货币)。

\p{name}
匹配已命名字符类“name”中不包括的文本。

\w
匹配任意单词字符。对于非 Unicode 和 ECMAScript 实现,这等同于 [a-zA-Z_0-9]。在 Unicode 类别中,这等同于 [\p{Ll}\p{Lu}\p{Lt}\p{Lo}\p{Nd}\p{Pc}]。

\W
\w 的否定,等效于 ECMAScript 兼容集合 [^a-zA-Z_0-9] 或 Unicode 字符类别 [^\p{Ll}\p{Lu}\p{Lt}\p{Lo}\p{Nd}\p{Pc}]。

\s
匹配任意空白区域字符。等效于 Unicode 字符类 [\f\n\r\t\v\x85\p{Z}]。如果使用 ECMAScript 选项指定 ECMAScript 兼容方式,\s 等效于 [ \f\n\r\t\v] (请注意前导空格)。

\S
匹配任意非空白区域字符。等效于 Unicode 字符类别 [^\f\n\r\t\v\x85\p{Z}]。如果使用 ECMAScript 选项指定 ECMAScript 兼容方式,\S 等效于 [^ \f\n\r\t\v] (请注意 ^ 后的空格)。

\d
匹配任意十进制数字。在 ECMAScript 方式下,等效于 Unicode 的 [\p{Nd}]、非 Unicode 的 [0-9]。

\D
匹配任意非十进制数字。在 ECMAScript 方式下,等效于 Unicode 的 [\p{Nd}]、非 Unicode 的 [^0-9]。

==============================
这里仅仅是把正则表达式的语法搞懂一些吧!!


Related Posts



0 Comments:

 

gf

rgdfgfdg

gf

gf

gf