Dim myRegExp, myMatches, myMatch
Set myRegExp = New RegExp
myRegExp.IgnoreCase = True
myRegExp.MultiLine = True
myRegExp.Pattern = "(http://|www)([\S]*)"
Set myMatches = myRegExp.Execute(String)
For Each myMatch In myMatches
myMatch.Value 'Save this to a variable
Next
Ditt mönster just nu känns som lite konstigt då du kommer i exemplet ovan få ut http://webforum.nu" title="webForum" som matchning. Och om det är så du vill få ut:
Detta pattern fungerar utmärkt i "The regulator" men den fungerar inte när jag försöker exekvera den på min ASP sida. <link> varianten har jag inte sett tidigare. Är det den som inte stödjs i ASP?
Antog att det var något sådant. :)
Nu ser min kod ut som nedan:
Set RegularExpressionObject = New RegExp
With RegularExpressionObject
'DESCRIPTION...
.Pattern = "<a.+?href\=(.+?)(?=[>\s]).*?>(.+?)</a>"
.IgnoreCase = True
.Global = True
End With
Set myMatches = RegularExpressionObject.Execute(strHTML)
For Each myMatch In myMatches
'REMOVE ANY " LEFT IN THE STRING...
varItemCount = varItemCount +1
response.write("<li> Match = " &varItemCount &": " &myMatch.Value &"<p>")
Next
Jag testar mot följande textstycke:
Before text <a href="http://mattias.nordin.net"> L< ink> text1</a>
after text Before text <a href="http://mattias.nordin.net">Link text2</a> after text
dd <a href="www.mattias.nordin.net" title=" < test title">Link text4</a> ee
ff <a href="www.mattias.nordin.net">Link text5</a> GG
Min output är följande:
Match = 1: L< ink> text1
Match = 2: Link text2
Match = 3: Link text4
Match = 4: Link text5
Det börjar alltså fungera hyffsat bra. Tackar för att du leder denna blinda man ;)
Det jag inte riktigt förstår är hur jag splittar myMatch.Value. Jag vill kunna hämta ut både URL och Länktexten.
Kan det vara så att URL = $1$2 och länktexten är $3 ?