1 / 17
文档名称:

MSDN中正则表达式整理.docx

格式:docx   大小:40KB   页数:17页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

MSDN中正则表达式整理.docx

上传人:niupai21 2022/6/13 文件大小:40 KB

下载得到文件列表

MSDN中正则表达式整理.docx

文档介绍

文档介绍:中的正则表达式
发布日期 : 8/17/2004 | 更新日期 : 8/17/2004
速成课程
Steven A. Smith
适用范围:
Microsoft® .NET Framework
Microsoft
返回页首
限定符
限定符提供了一种简单方法,用于指定在模式中允许特定字符或字符集自身重复出现的次数。有 3 个
非显式限定符:
*,描述''出现0或多次”。
+,描述''出现1或多次”。
?,描述''出现0或1次”。
限定符始终引用限定符前(左边)的模式,通常是单个字符,除非使用括号创建模式组。下面是一些
模式示例及匹配的输入。
模式
输入(匹配)
fo*
foo、foe、food、fooot、“fbrget it”、funny、 puffy
fo+
foo、foe、food、foot、“fbrget it"
fo?
foo、foe、food、foot、“fbrget it”、funny、puffy
除了指定给定模式准确出现0或1次之外,?字符还可强制模式或子模式匹配数目最少的字符(如 果匹配输入字符串中的多个字符)。
除了非显式限定符(一般叫做限定符,但为区别于下一组,故称非显式限定符)之外,还有显式限定 符。在模式出现次数方面,限定符的概念非常模糊。使用显式限定符则可准确指定数字、范围或数字 集。显式限定符位于所应用的模式的后边,这一点与正则限定符一样。显式限定符使用花括号 {} 及 其中的数字值表示模式出现次数的上下限。例如,x{5}将准确匹配5个x字符(xxxxx)。如果 仅指定一个数字,则表示次数上限;如果数字后跟一个逗号,如x{5,},表示匹配任何出现次数大 于4的x字符。下面是一些模式示例及匹配的输入。
模式
输入(匹配)
ab{2}c
abbc、 aaabbccc
ab{,2}c
ac、abc、abbc、aabbcc
ab{2,3}c
abbc、abbbc、aabbcc、aabbbcc
返回页首
元字符
在正则表达式中,有一种意义特殊的构造,即元字符。目前已知的元字符有很多,如 *、?、+ 和 {} 字符。其他字符在正则表达式语言中都有特殊的含义。这些字符包括:$八・[(| )]和\。
・(句点或点)元字符是最简单但最常用的一个字符。它可匹配任何单字符。如果要指定某些模式可 包含任意组合的字符,使用句点非常有用,但一定要在特定长度范围内。此外,我们知道表达式将对 包含在较长字符串中的所有模式进行匹配,假如只需要精确匹配模式,又该怎么办?这在验证方案中 经常出现,例如,要确保用户输入的邮政编码或电话号码的格式正确。使用八元字符可指定字符串
(或行)的开始,使用$元字符可指定字符串(或行)的结束。通过将这些字符添加到模式的开始 和结束处,可强制模式仅匹配精确匹配的输入字符串。如果八元字符用在方括号[]指定的字符 类的开头,也有特殊的含义。具体内容见下。
\ (反斜杠)元字符既可根据特殊含义''转义”字符,也可指定预定义集合元字符的实例。同样,具体 内容见下。为了在正则表达式中包括文字样式的元字符,必须使用反斜杠进行“转义”。例如,如果要 匹配以''c:\"开始的字符串,可使用:八c:\\。注意,要使用八元字符指出字符串必须以此模式作 为开始,然后用反斜杠元字符转义文字反斜杠。
| (管道)元字符用于交替指定,特别用于在模式中指定''此或彼”。例如,a|b将匹配包含“a”或“b" 的任何输入内容,这与字符类 [ab] 非常类似。
最后,括号()用于给模式分组。它允许使用限定符让一个完整模式出现多次。为了便于阅读,或 分开匹配特定的输入部分,可能允许分析或重新设置格式。括号里面的是一个整体
下面列出元字符的一些使用示例。
模式 输入(匹配)
-
a、b、c、1、2、3
*
Abe, 123,任意字符串无字符时也匹配
y\\
c:\windows. c:\\\\\、c:\、c:\ 后跟任何其他内容
abc$
abc、123abc、以abc结束的任意字符串
(abc){2,3}
abcabc、 abcabcabc
返回页首
字符类
字符类是正则表达式中的“迷你”语言,在方括号 [ ] 中定义。最简单的字符类只不过是括号中的一 个字符表,如[aeiou]。在表达式中使用字符类时,可在模式的此位置使用其中任何一个字符(但 只能使用一个字符,除非使用了限定符)。请注意,不能使用字符类定义单词或模式,只能定义单个 字符。
要指定任何数值数字,可以使用字符类 [0123456789]。但是,由于这样使用字符不大方便,所 以要通过在括号中使用连字符 - 来定义字符的范围。