精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● ASP>>ASP教程>>正则表达式专辑>>正则表达式简介(05-08)

主题:正则表达式简介(05-08)
发信人: BlueSkys()
整理人: yahao(2000-11-28 09:04:43), 站内信件
正则表达式简介(5-8)(00-8-23 68)
 
5. 建立正则表达式

构造正则表达式的方法和创建数学表达式的方法一样。也就是用多种元字符
与操作符将小的表达式结合在一起来创建更大的表达式。可以通过在一对分
隔符之间放入表达式模式的各种组件来构造一个正则表达式。对 Visual Basic
 Scripting Edition 而言,分隔符为一对正斜杠 (/) 字符。例如:/expression/

对 VBScript 而言,则采用一对引号 ("") 来确定正则表达式的边界。例如:
"expression"

在上面所示的两个示例中,正则表达式模式 (expression) 均存储在RegExp 
对象的Pattern 属性中。

6. 优先权顺序 

在构造正则表达式之后,就可以象数学表达式一样来求值,也就是说,可以
从左至右并按照一个优先权顺序来求值。 

下表从最高优先级到最低优先级列出各种正则表达式操作符的优先权顺序:
操作符                                    描述 
\                                         转义符 
(), (?:), (?=), []                        圆括号和方括号 
*, +, ?, {n}, {n,}, {n,m}                 限定符 
^, $, \anymetacharacter                   位置和顺序 
|                                         “或”操作 

7. 普通字符 

普通字符由所有那些未显式指定为元字符的打印和非打印字符组成。这包括
所有的大写和小写字母字符,所有数字,所有标点符号以及一些符号。 

最简单的正则表达式是一个单独的普通字符,可以匹配所搜索字符串中的该
字符本身。例如,单字符模式 'A' 可以匹配所搜索字符串中任何位置出现的
字母 'A'。这里有一些单字符正则表达式模式的示例:

/a/
/7/
/M/

等价的 VBScript 单字符正则表达式为:

"a"
"7"
"M"

可以将多个单字符组合在一起得到一个较大的表达式。例如,下面的 Visual 
Basic Scripting Edition 正则表达式不是别的,就是通过组合单字符表达式
 'a'、'7'以及 'M' 所创建出来的一个表达式。 

/a7M/
等价的 VBScript 表达式为:
"a7M"

请注意这里没有连接操作符。所需要做的就是将一个字符放在了另一个字符后面。


8. 特殊字符

有不少元字符在试图对其进行匹配时需要进行特殊的处理。要匹配这些特殊字符,
必须首先将这些字符转义,也就是在前面使用一个反斜杠 (\)。下表给出了这些
特殊字符及其含义:

特殊字符                      说明 

$          匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline
           属性,则 $ 也匹配 '\n' 或 '\r'。要匹配 $ 字符本身,请使用 \$。

( )        标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。
           要匹配这些字符,请使用 \( 和 \)。 

*          匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 \*。 

+          匹配前面的子表达式一次或多次。要匹配 + 字符,请使用 \+。 

.          匹配除换行符 \n之外的任何单字符。要匹配 .,请使用 \。 

           标记一个中括号表达式的开始。要匹配 [,请使用 \[。  

?          匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。要匹配 ? 
           字符,请使用 \?。

\          将下一个字符标记为或特殊字符、或原义字符、或后向引用、或八进制
           转义符。例如, 'n' 匹配字符 'n'。'\n' 匹配换行符。序列 '\\' 匹
           配 "\",而 '\(' 则匹配 "("。 

^          匹配输入字符串的开始位置,除非在方括号表达式中使用,此时它表示
           不接受该字符集合。要匹配 ^ 字符本身,请使用 \^。 

{          标记限定符表达式的开始。要匹配 {,请使用 \{。

|          指明两项之间的一个选择。要匹配 |,请使用 \|。
--
★ 广东商盟社区 ★ 欢迎你! ★
    http://www.free999.com
●   网站建设 ● 社区建设  ●

※ 来源:.网易 BBS bbs.netease.com.[FROM: 202.105.244.135]

[关闭][返回]