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


Matcha -tag

Postades av 2008-12-08 21:25:01 - Jonas Lorander, i forum regular expressions, Tråden har 4 Kommentarer och lästs av 2136 personer

Hej!

Jag försöker hitta en <link>-tag på en hemsida (vilken hemsida som helst egentligen) som ser ut så här:

<link type="application/rsd+xml" rel="edituri" title="RSD" href="http://url.se/rsd.axd" />


Jag är ute efter href-attributet för att läsa in XMLen som finns på den URIn. Problemet som jag inte riktigt kommer runt är att attributen ju kan komma i vilken ordning som helst och att det kan finnas flera <link>-taggar. Det är viktigast att type- och rel-attributen stämmer med värderna ovan.

Någon som har något förslag på ett reguljärt uttryck som kan fungera? Gärna något som går att köra i .NET.

Reguljära uttryuck är tyvärr itne min starka sida, så en liten knuff åt rätt håll eller ett helt uttryck är mycket uppskattat! Eller finns det något bättre/enklare sätt att få fram den här URIn?

Tack på förhand!


Svara

Sv: Matcha -tag

Postades av 2008-12-08 21:48:32 - Niklas Jansson

Det framgår inte exakt vad som kan variera. Det borde väl funka med något i stil med:
<link ((type="application/rsd+xml" )|(rel="edituri" )|(title="RSD" ))*href=".*" ((type="application/rsd+xml" )|(rel="edituri" )|(title="RSD" ))*/>

Men då måste du efteråt kontrollera att den verkligen innehöll alla taggar (och du måste nog ställa in att .* inte ska vara greedy etc.)

En annan variant är att ta alla tänkbara kombinationer, det blir 6 stycken om du bara bryr dig om href, rel och type.
typ
<link (type="app..."[^>]*rel="edituri"[^>]*href=".*") | (rel="edituri"[^>]*type="app..."[^>]*href=".*") | ... |
[^>]*/>

Jag tror det enklaste är att plocka ut alla tänkbara matchningar och sen i kod kolla vilka som är korrekta.


Svara

Sv:Matcha -tag

Postades av 2008-12-08 21:53:18 - Jonas Lorander

Det som kan variera är ordningen i vilken attributen står.

Jag ska testa dina förslag och bygga vidare på de, ser ut att kunna fungera.

Hör av mig om det är några fler frågor.

Tack så länge!


Svara

Sv: Matcha -tag

Postades av 2008-12-09 14:27:09 - Jonas Lorander

Så här fick det blir:
<code>
<link[^>]?(rel="(?<rel>.*?)"[^>]type="(?<type>.*?)"[^>]href="(?<href>.*?)")|(rel="(?<rel>.*?)"[^>]href="(?<href>.*?)"[^>]type="(?<type>.*?)")|(type="(?<type>.*?)"[^>]rel="(?<rel>.*?)"[^>]href="(?<href>.*?)")|(type="(?<type>.*?)"[^>]href="(?<href>.*?)"[^>]rel="(?<rel>.*?)")|(href="(?<href>.*?)"[^>]type="(?<type>.*?)"[^>]rel="(?<rel>.*?)")|(href="(?<href>.*?)"[^>]rel="(?<rel>.*?)"[^>]type="(?<type>.*?)")[^>]/?>
</code>

Matchar alla <link>-taggar som har rel-, type- och href-attributen vilket de flesta har, så kan jag bara kolla igenom alla träffar efter rätt type och rel.

Verkar fungera ganska bra också.

Tack så hemskt mycket för hjälpen!


Svara

Sv:Matcha -tag

Postades av 2008-12-09 22:29:18 - Jonas Lorander

RegExen ovan visade sig inte alls fungera nå bra.

Däremot gör den här det :)

<code><link[^>]*
([^>]*?rel="(?<rel>[^>"]*?)"[^>]*?type="(?<type>[^>"]*?)"[^>]*?href="(?<href>[^>"]*?)"[^>]*?)|
([^>]*?rel="(?<rel>[^>"]*?)"[^>]*?href="(?<href>[^>"]*?)"[^>]*?type="(?<type>[^>"]*?)"[^>]*?)|
([^>]*?type="(?<type>[^>"]*?)"[^>]*?rel="(?<rel>[^>"]*?)"[^>]*?href="(?<href>[^>"]*?)"[^>]*?)|
([^>]*?type="(?<type>[^>"]*?)"[^>]*?href="(?<href>[^>"]*?)"[^>]*?rel="(?<rel>[^>"]*?)"[^>]*?)|
([^>]*?href="(?<href>[^>"]*?)"[^>]*?type="(?<type>[^>"]*?)"[^>]*?rel="(?<rel>[^>"]*?)"[^>]*?)|
([^>]*?href="(?<href>[^>"]*?)"[^>]*?rel="(?<rel>[^>"]*?)"[^>]*?type="(?<type>[^>"]*?)"[^>]*?)
/?></code>


Svara

Nyligen

  • 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
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

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 153
27 952
271 704
891
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