Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Regular expression??

Postades av 2001-03-19 16:37:00 - Jenny Lindroth, i forum regular expressions, Tråden har 3 Kommentarer och lästs av 1548 personer

Hej!
Finns det nååån som kan hjälpa mig med ett litet problem som jag har?
Jag försöker söka reda på mailadresser i en text o byta ut dem mot denfunnamailadressen
Så här har jag gjort iaf:
Set oRe = New RegExp
' Look for an e-mail address
oRe.Pattern ="^[^'mailto:']((\w+|\w+\.)+@(\w+|\w+\.)+(\w+|\w+\.)+\.([A-Za-z]{2,3}))"
oRe.Global=true
' Get the Matches collection
Set oMatches = oRe.Execute(inpStr)
for each oMatch in oMatches
Response.write(oRe.Replace(inpStr,""&oMatch&""))
Next

Men det funkar inte alls! Om jag tar bort ^[^'mailto:'] hittas mailadresserna, men de som en gång hittats o ersatts med "<a href= etc" kommer att bli ersatta en gång till (det är det jag vill undvika med mailto-strängen ibörjan)
VAD GÖR JAG FÖR FEL??
Tack!!


Svara

Sv: Regular expression??

Postades av 2001-03-23 09:05:00 - Tom Svensson

Hej Jenny!

I går när jag var på väg hem från jobbet i Nyköping så skrev jag ihop ett uttryck som jag fick fungera rätt OK.

Så här ser det ut:

<code>
' sträng
strText = "Hej min mail är tom@firstdev.com och Anders är anders.waglund@firstdev.com ... yah till min blahoj@firstdev.com skola: tom.svensson@lc.trosa.se tjoboo hej å hopp SLUT!"

' skapande av regexptobjektet
Set objRE = New RegExp
objRE.Global = True
objRE.IgnoreCase = True

objRE.Pattern = ".*?|(\w+|\w+\.)+@(\w+|\w+\.)+(\w+|\w+\.)+\.([A-Za-z]{2,3})"

' skriv ut den nuvarande strängen
Response.Write strText

Set m = objRE.Execute(strText)
For Each Match In m
If Not Mid(LCase(Match.Value), 2, 6) = "a href" Then
strText = Replace(strText, Match.Value, "" & Match.Value & "")

End If
Next
Set objRE = Nothing

' skriv ut den nya strängen
Response.Write "<HR>" & strText
</code>


Detta fungerar ENDAST då e-postadresserna förekommer EN gång, annars så skriver den över sig själv...

Du måste även ha en nyare version av (vet att 5.5 fungerar) Microsoft Scripting Engine, som klarar av non-greedy-uttryck (som .*?) osv...

Lycka till och lev väl,
Tom S.


Svara

Sv: Regular expression??

Postades av 2001-03-23 10:27:00 - Jenny Lindroth

Nja det funkade nog inte så som jag tänkt mig iaf!!
Jag vill alltså att man ska hitta flera olika mailadresser i en text o göra de "aktiva" (alltså så att de blir en mailtolänk...).
Åhhh vad less jag blir... Nu har jag skrivit koden så här (använt lite av ditt tom :o) ) :
Function SubMatchTest(inpStr)
Dim oRe, oMatch, oMatches
Set oRe = New RegExp
' Look for an e-mail address

strMail="mailto:"
oRe.Pattern = "(\w+|\w+\.)+@(\w+|\w+\.)+(\w+|\w+\.)+\.([A-Za-z]{2,3})"
oRe.Global=true
' Get the Matches collection
Set oMatches = oRe.Execute(inpStr)
for each oMatch in oMatches
If Not Mid(LCase(oMatch.Value), 2, 6) = "a href" Then
Response.write(oRe.Replace(inpStr,""&oMatch&""))
Response.Write "<br>"
end if

Next

End Function

och inputsträngen är:
"Här kommer en text o den innehåller en emailadress nämligen: jenny_lindroth.lindroth.kalle@kalle.se och här kommer en till jenny_lindroth@KOKKO.se"

och resultatet blir:
Här kommer en text o den innehåller en emailadress nämligen: jenny_lindroth.lindroth.kalle@kalle.se>jenny_lindroth.lindroth.kalle@kalle.se och här kommer en till jenny_lindroth.lindroth.kalle@kalle.se
Här kommer en text o den innehåller en emailadress nämligen: jenny_lindroth.lindroth.kalle@kalle.se>jenny_lindroth.lindroth.kalle@kalle.se och här kommer en till jenny_lindroth.lindroth.kalle@kalle.se
Här kommer en text o den innehåller en emailadress nämligen: jenny_lindroth@KOKKO.se>jenny_lindroth@KOKKO.se och här kommer en till jenny_lindroth@KOKKO.se

Hm inte riktigt som jag tänkt mig ;)


Svara

Sv: Regular expression??

Postades av 2001-03-23 10:59:00 - Pelle Johansson

Den blir lite tossig på första exemplet, men de övriga verkar fungera:

<code>
x = "Här kommer en text o den innehåller en emailadress nämligen: jenny_lindroth.lindroth.kalle@kalle.se och här kommer en till jenny_lindroth@KOKKO.se o sen blir det mera text o ibland kommer det mailadresser som nu t ex jenny.lindroth@hemma.nu o sen kan det gå ett tag till o då händer ingenting men sen blir det mer mailadresser men man vet inte riktigt när... o då dyker de upp som gubben i lådan na97jlh@student.hig.se"

t = 1
Do
t = InStr(t, x, "@")
If t > 0 Then
radstart = InStrRev(x, " ", t)
radslut = InStr(t, x, " ")
If radslut = 0 Then radslut = Len(x) + 1

Text = Mid(x, radstart, radslut - radstart)

If InStr(Text, "href") = 0 Then
Debug.Print Text
End If

Else
Exit Do
End If
t = t + 1
Loop
</code>

Detta ger:
jenny_lindroth@KOKKO.se
jenny.lindroth@hemma.nu
na97jlh@student.hig.se

Därefter kan man då skriva:

<code>
text = "" & text & ""
</code>
för att de skall bli klickbara...





Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 614
27 953
271 709
420
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies