0
Function VeriBul(BaslangicDegeri,BitisDegeri)

  Set RegEx = New RegExp
  RegEx.IgnoreCase = True
  RegEx.Global = True
  RegEx.Pattern = "(" & BaslangicDegeri & ")(.+?)(" & BitisDegeri & ")"
  Set Sonuc = RegEx.Execute(Mid(strRetval,29600,254000))

  For Each i in Sonuc
 VeriBul =  VeriBul & tr2(i.SubMatches(1))

    Set RegEx2 = New RegExp
    RegEx2.IgnoreCase = True
    RegEx2.Global = True
    RegEx2.Pattern = "(<hemenalfiyat>)(.+?)(</hemenalfiyat>)"
    Set Sonucx = RegEx2.Execute(Mid(strRetval,33000,2000))

     For Each y in Sonucx
     VeriBul2 =  VeriBul2 & tr2(y.SubMatches(1))
     Next

     When it works then appering error

  Next

================================================== ====

For Each i in Sonuc
  i.SubMatches(1)

For Each y in Sonucx
  y.SubMatches(1)

  Next
  Next

Submatches コードを除いてこれを印刷するにはどうすればよいですか? そのような2つの正規表現コード(したがって、Regex2として使用されます)があり、サブマッチに再び使用できないためです。

ありがとう、

4

1 に答える 1

0

あなたのコードの残りの部分(tr2)とあなたの入力と望ましい出力なしでこれを修正するのは難しいですが、私はあなたのコードがこのようなものでなければならないと思います

Function VeriBul(BaslangicDegeri,BitisDegeri)

  Set RegEx = New RegExp
  RegEx.IgnoreCase = True
  RegEx.Global = True
  RegEx.Pattern = "(" & BaslangicDegeri & ")(.+?)(" & BitisDegeri & ")"

  Set RegEx2 = New RegExp
  RegEx2.IgnoreCase = True
  RegEx2.Global = True
  RegEx2.Pattern = "(<hemenalfiyat>)(.+?)(</hemenalfiyat>)"

  Set Sonuc = RegEx.Execute(Mid(strRetval,29600,254000))
  Set Sonucx = RegEx2.Execute(Mid(strRetval,33000,2000))

  For Each i in Sonuc
    VeriBul =  VeriBul & tr2(i.SubMatches(1))
  Next
  For Each y in Sonucx
   VeriBul =  VeriBul & tr2(y.SubMatches(1))
  Next

Next
于 2012-06-12T21:17:07.920 に答える