VB6 正则表达式提取内容

今天帮同事做一个数据对接,从返回的数据中提取想要的部分。返回的是一个WebService结果,由外圈的XML标记和中间的有效内容组成,现在要把有效内容取出来,VB6.0实现。

下面是返回的内容

<?xml version='1.0' encoding='UTF-8'?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<ns:getAllQuickInfoResponse xmlns:ns="http://webservice.sp.action.org" xmlns:ax21="http://service.webservice.sp.action.org/xsd">
<ns:return>
[...省略]
</ns:return>
</ns:getAllQuickInfoResponse>
</soapenv:Body>
</soapenv:Envelope>

要把中间的有效内容取出来。想到了正则表达式,在VB6中用法如下:

首先要添加正则表达式的引用:

菜单栏: “工程” - “引用” - “Microsoft VBScript Regular Expressions 5.5”


用法

'获取有效内容
  Dim str As String
  
  Dim re As RegExp
  Dim mh As Match
  Dim mhs As MatchCollection
    
  str = HttpClient.responseText
  Set re = New RegExp
 
  re.Pattern = "\[.*]"
  Set mhs = re.Execute(str)
  Set mh = mhs(0)

  MsgBox (mh.Value)

效果

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...