收藏本页
切换浏览模式

微波家园论坛微波程序设计FORTRAN,VB程序设计 → [转帖]vb 正则表达式(1)——预定义的集合元字符

关闭 帖子评论
选取类型: 中立 支持 反对
观点标题:
验证码: 验证码,看不清楚?请点击刷新验证码
观点内容:
(不支持HTML)
  1. 请以客观、真实地作出评论,并注意语言文明;
  2. 观点发表后不能作出更改;
您是本帖的第 608 个阅读者
树形 打印
标题: [转帖]vb 正则表达式(1)——预定义的集合元字符
wsn
帅哥哟,离线,有人找我吗?
头衔:微波班竹
等级:管理员
威望:30 点
文章:1389 篇
积分:4201 点
金钱:4369 元
金币:26 枚
魅力:4330 点
注册:2006年7月15日
近访:2009-1-3 18:51:00
发贴心情
[转帖]vb 正则表达式(1)——预定义的集合元字符
vb 正则表达式(5)——预定义的集合元字符
使用目前提供的工具可以完成很多工作。但是,要使用 [0-9] 表示模式中的每个数值数字,或(更糟)使用 [0-9a-zA-Z]表示任何字母数字字符,还有一段相当漫长的过程。为了减轻处理这些常用但冗长模式的痛苦,事先定义了预定义元字符集合。正则表达式的不同实现定义了不同的预定义元字符集合。这些预定义元字符的标准语法是,在反斜杠 \ 后跟一个或多个字符。多数预定义元字符只有一个字符,它们的使用很容易,是冗长字符类的理想替代字符。以下是两个示例:\d 匹配所有数值数字,\w 匹配所有单词字符(字母数字加下划线)。例外情况是一些特定字符代码匹配,此时必须指定所匹配字符的地址,如 \u000D 将匹配 Unicode 回车符。下面列出一些最常用的字符类及其等效的元字符。(以上内容取自.net正则表达式)
元字符 说明与等效字符类
\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]。


爱你 却说不出口
想你 却是独自心痛
念你 却只能寄语风中
梦你 却寻不回你的影子
等你 却不敢面对你的眼眸
ip地址已设置保密
2008-6-3 14:25:00
回到顶部

WWW.MWHRF.COM
Powered by 微波家园论坛
备案序号: ICP备06045115号