VBScript +正则表达式

时间:2010-04-09 14:21:36

标签: regex vbscript

Dim sString

sString = "John;Mary;Anne;Adam;Bill;Ester"

我是否可以使用正则表达式从上面的列表中检索以下内容:

  1. 约翰(;名称末尾)
  2. 安妮(;开头和结尾)
  3. Ester(;开头)
  4. 我目前正在使用以下正则表达式:

    1. Joh.*
    2. .*An.*
    3. .*st.*
    

    但是,上面检索整个字符串而不是我想要的值。我怎样才能得到正确的值?

    代码:

    Dim oRegex : Set oRegex = New RegExp
    oRegex.Global = False
    oRegex.IgnoreCase = False
    
    'John
    oRegex.Pattern = "Joh.*"
    
    Set oMatch = oRegex.Execute(sString)
    sName = oMatch(0)
    

    上面的代码检索整个字符串,而不是仅检索John。与其他人的问题相同:(

2 个答案:

答案 0 :(得分:2)

为什么不直接使用它?

Dim nameArray = Split(sString,";")

答案 1 :(得分:1)

更简单的方法是,在字符串上执行split()。然后迭代列表来获取你的东西,例如

s = split(sString,";")
for i=Lbound(s) to Ubound(s)
  ' get your names
next