VBScript 正则表达式操作

RegExp 对象

属性/方法 意义
Pattern 正则表达式
Global 是否多次匹配
IgnoreCase 是否忽略大小写
Execute(字符串) 执行查找,并返回 Matches 集合
Replace(串1,串2)

查找并替换匹配,串2中的 "$n" 为捕获的匹配

Test(字符串) 检测是否找到匹配

Matches 数组

属性 意义
count 对象个数
item 数组,Match 对象

Match 对象

属性 意义
FirstIndex 匹配的开始位置,第一个为 0
Length 匹配字符串长度
Value 匹配字符串

示例1

取得电子邮件地址:

set reg = New RegExp
reg.Pattern = "(\w+)@(\w+)\.(\w+)"
reg.global = true 
reg.IgnoreCase = True

Set mats = reg.Execute("我们的信箱是: abc@def.com kkl@abc.com 。")

response.write mats.count & "个电子邮件地址<br>"
for each mat in mats
   response.write mat & "<br>"
   response.write mat.submatches.count & "个子匹配<br>"
   for each itm in mat.submatches '显示获得的所有匹配 
      response.write itm & "<br>" 
   next
next

示例2

查找匹配,返回匹配内容及位置:

s = "---tc---TC---Ttc---tTc---TC---Tc---" 

set reg = new RegExp 

reg.pattern = "t+c" 

reg.global = true 

reg.ignorecase = true

n = 0

set r = reg.execute(s) 

for i=0 to r.count-1

    document.write "在位置" & r(i).FirstIndex & "发现匹配:" & r(i).value & "<br>" 

next

document.write "在字符串:" & s & "<br>中发现字符串:"

document.write reg.pattern & "<br>共计:" & r.count & "个."

JScript 正则表达式操作

PHP 正则表达式操作