Vad jag försöker att göra är att replaca bort de vbCrlf som finns mellan taggarna Jag har kommit en liten bit Tack Sven, men det hjälpte mig inte mycket.Regex problem
i en HTML-file
<code>
Dim oRE As Object, oMatches As Object, oMatch As Object, oSubMatch As Object
Set oRE = CreateObject("VBScript.RegExp")
oRE.Global = True
oRE.IgnoreCase = True
oRE.MultiLine = True
oRE.Pattern = "<.*?(?:\s.*?=['""].*?['""])*?>(.*?)<.*?>"
On Error GoTo errhandler
Set oMatches = oRE.Execute(Text.Text)
For Each oMatch In oMatches
For Each oSubMatch In oMatch.SubMatches'<----- HÄR PEKAR HAN
Text.Text = Replace(oSubMatch, vbCrLf, " ")
Next
Next
errhandler:
If Err.Number > 0 Then
MsgBox "FEL: " & Err.Number & vbCrLf & Err.Description
Exit Sub
End If
</code>
Error jag får är:
FEL 424
Object reqired
Jag förstår inte vilket objet han vill ha???
Hur skall jag älösa detta?Sv: Regex problem
<code>
Dim oRE As RegExp, oMatches As MatchCollection, oMatch As Match, oSubMatch, sTexten As String
Set oRE = New RegExp
oRE.Global = True
oRE.IgnoreCase = True
oRE.MultiLine = True
oRE.Pattern = "<.*?(?:\s.*?=['""].*?['""])*?>(.*?)<.*?>"
Set oMatches = oRE.Execute(Text.Text)
On Error GoTo errhandler
For Each oMatch In oMatches
For Each oSubMatch In oMatch.SubMatches
'Text.Text = Text.Text & Replace(oSubMatch, vbCrLf, " ")
Text.SelText = Replace(oSubMatch, vbCrLf, " ")
Next
Next
errhandler:
If Err.Number > 0 Then
MsgBox "FEL: " & Err.Number & vbCrLf & Err.Description
On Error Resume Next
' Exit Sub
End If
</code>
Jag har inga error nu, men han gör inte alla replacen.
Jag skulle gärna vilja ha lite hjälp med pattern också, så att den ignorera
<code>
<DD> och <DT>
</code>
taggar.Sv: Regex problem
I alla fall så börjar det snurra runt lite, men jag tänker fortfarande lite galet därför att den texten som replacar, lägger sig högst up i textboxen.
Det är den här biten som jag är osäker på:
<code>
Text.SelText = Replace(oSubMatch, vbCrLf, " ")
</code>
Jag vill alltså ersätta den gammla texten med vad oSubMath hittar.