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 ?