RegEx("(href=[b]""[/b].{10,}[b]""[/b]> )|(href=.{10,}> )")
Är du säker du kan använda "" tecken i .NET ???
Testa att använd Convert.ToChar(34) så är det iallall i C#.
2 svar · 199 visningar · startad av erka
Jag har en stor sträng med en mängd html, länkar, bilder, html taggar. Jag gör ett litet script som ska plocka ut alla länkar inom <a href> taggar och lägga in det i en arraylist.
Länkarna kan se ut på två sätt
<a href=http://www.spray.se>Spray</a>
<a href="http://www.spray.se">Spray</a>
Jag har ett reg exp pattern som ser ut så här
<a href=(.*?)([^>].*?)>
När jag testkör det på https://www.webeye.nu fungerar det och returnerar träffarna där en <a href> tagg finns. Men i min asp.net app blir det inte riktigt rätt
Private Function FetchLinksToArrayList(ByVal sHTMLContent As String,ByVal URL As String) As ArrayList
Dim rRegEx As Regex
Dim mMatch As Match
Dim aMatch As New ArrayList()
rRegEx = New RegEx("(href=".{10,}">)|(href=.{10,}>)")
mMatch = rRegEx.Match(sHTMLContent)
While mMatch.Success
Dim sMatch As String
sMatch = ProcessURL(mMatch.Groups(1).ToString,URL)
aMatch.Add(sMatch)
mMatch = mMatch.NextMatch()
End While
Return aMatch
End Function
Den klagar på mitt reg exp pattern, säger "BC30203: Identifier expected.", lägger jag till ett par " tecken och skriver rRegEx = New RegEx("(href="".{10,}"">)|(href=.{10,}>)") så returnerar den inte rätt saker. Någon som har ett annat pattern som man kan använda eller vad har jag gjort fel, tacksam
RegEx("(href=[b]""[/b].{10,}[b]""[/b]> )|(href=.{10,}> )")
Är du säker du kan använda "" tecken i .NET ???
Testa att använd Convert.ToChar(34) så är det iallall i C#.
Ahhh såklar det var där problemet låg, stort tack Nickemannen. Har en annan fråga. Jag har nu byggt om mitt pattern
rRegEx = New RegEx("<a href="& Convert.ToChar(34) &"(.*?)([^>].*?)"& Convert.ToChar(34) &">")
Om jag vill bygga ut det så att det tar med länkar som även ser ut på detta vis
<a href=http://www.spray.se>Spray</a>
Hur skriver man då, har inte fått det att fungera med eller switchen