正则表达式称得上是计算机领域的一项伟大的发明,它简单、优美、灵活而功能强大。正则表达式值得每一个程序员好好学习。当然学会正则是我的目标,但是我确实是只知道一点点皮毛。本文不是介绍如何写正则表达式,只是介绍几种在vb中运用正则表达式的方法。
一、详细知识点介绍 首先,要引用 Microsoft VBScript Regular Expressions 5.5,我们就可以声明RegExp、MatchCollection、Match 三个对象了。 RegExp :正则表达式匹配的主要对象。 属性 Pattern:一个字符串,用来定义正则表达式。 IgnoreCase:,则忽略英文字母大小的匹配,False对大小写进行匹配。 Global:设置一个布尔值或返回一个布尔值,该布尔值指示一个模式是必须匹配整个搜索字符串中的所有搜索项还是只匹配第一个搜索项。 MultiLine:如果允许匹配多行文本,则multiline为true,如果搜索必须在换行时停止,则为false 方法: Execute:返回一个 MatchCollection 对象,该对象包含每个成功匹配的 Match 对象。 Match : 成功匹配的对象。 属性: MatchCollection:集合对象,包含每个匹配成功的Match对象 属性: 二、具体实例 我写了一个类将使用这则表达式匹配字符串进行了封装。 例如:从字符串 "s3g3jlj5lj7" 查找 字符0-9 ,并将0-9字符替换成“数字” 正则表达式可以这样写 "[0-9]" 我这样进行测试 执行结果为: 由于一个字符串中可能出现多处匹配成功的地方,所以我将匹配成功的字符串和 字符串出现的位置用冒号“:”分割。我们可以使用split 函数将字符串按照冒号拆分存放到数组里,方便使用。 当然有时我们并不需要如此复杂的操作,也许我们只需要判断字符串中是否还有数字、字符串是否全有数字组成、是否符合日期格式、是否是IP地址等等,类似的判断我们完全可以直接使用RegExp的Test方法来实现。 |
|