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 / Artiklar / Titel på artikeln

Regular Expressions Syntax

Postad 2003-07-15 av Henrik Malmberg i sektionen ASP.NET, C#, Okategoriserat med 7 Kommentarer | Läst av: 9476, Betyg: 55%

Förord

Regular Expressions har ni säkert alla hört talas om i något sammanhang, i denna artikel tänker jag snabbt gå igenom vad det är och hur dess syntax ser ut. Att notera är att jag kommer endast kommer att behandla PCRE, Perl Compatible Regular Expressions.
Innehåll
  » Vad är Regular Expressions?
  » Varför heter det Regular Expressions?
  » Regular Expressions Syntax


Vad är Regular Expressions?

Du har säkert använt *.html eller liknande när du har sökt efter HTML filer, *.html är en mycket enkel Regular Expression (eller Reguljärt Uttryck) även kallat RegEx eller RegExp. RegExp är mycket mer avancerat än föregående exempel, t.ex. skulle du kunna skriva en RegExp för att validera en epost-adress, en url eller kanske kolla så att formatet på ett datum.


Varför heter det Regular Expressions?

Regular Expressions spåras tillbaka till arbetet av en amerikansk matematiker vid namnet Stephen Kleene (en av de mest inflytelserika personen i utvecklingen av teoretisk datavetenskap) som utvecklade regular expressions som en notation för att beskiva vad han kallade "the algebra of regular sets." Hans arbete användes i tidiga försök av sökalgoritmer, och från detta till de tidigare text-manipulation verktygen under Unix t.ex. ed och grep (grep står för Global Regular Expression Print). I sammanhanget av datorsökningar kallas "*" för "Kleene star."


Regular Expressions Syntax

Att läsa en något sånär avancerad RegExp är inte alltid det lättaste, ta t.ex. en titt på denna


([\w-]+\.)*[\w-]+\@([\w-]+\.)+[a-zA-Z]{2,}

Denna RegExp skulle kunna användas för att validera en epostadress.. Så, nu går vi vidare till vad alla de olika tecknen och symbolerna egentligen betyder.


» Characters
» Character Classes
» Predefined Classes
» Boundary Matchers
» Greedy Closures
» Reluctant Closures
» Logical Operators
» Backreferences





























































Characters
unicodeCharMatches any identical unicode character
\Used to quote a meta-character (like '*')
\\Matches a single '\' character
\0nnnMatches a given octal character
\xhhMatches a given 8-bit hexadecimal character
\\uhhhhMatches a given 16-bit hexadecimal character
\tMatches an ASCII tab character
\nMatches an ASCII newline character
\rMatches an ASCII return character
\fMatches an ASCII form feed character
 
 
Character Classes
[abc]Simple character class
[a-zA-Z]Character class with ranges
[^abc]Negated character class
 
 
Predefined Classes
.Matches any character other than newline
\wMatches a "word" character (alphanumeric plus "_")
\WMatches a non-word character
\sMatches a whitespace character
\SMatches a non-whitespace character
\dMatches a digit character
\DMatches a non-digit character
 
 
Boundary Matches
^Matches only at the beginning of a line
$Matches only at the end of a line
\bMatches only at a word boundary
\BMatches only at a non-word boundary
 
 
Greedy Closures
A*Matches A 0 or more times (greedy)
A+Matches A 1 or more times (greedy)
A?Matches A 1 or 0 times (greedy)
A{n}Matches A exactly n times (greedy)
A{n,}Matches A at least n times (greedy)
A{n,m}Matches A at least n but not more than m times (greedy)
 
 
Reluctant Closures
A*?Matches A 0 or more times (reluctant)
A+?Matches A 1 or more times (reluctant)
A??Matches A 0 or 1 times (reluctant)
 
 
Logical Operators
ABMatches A followed by B
A|BMatches either A or B
(A)Used for subexpression grouping
 
 
Backreferences
\nBackreference to nnd parenthesized subexpression
Upp

7 Kommentarer


  1. Pelle Johansson
    10 jul 2003

    Som läsare kan det vara trevligt om man kunde se hur man instansierar regexp från såväl asp, vb, c# samt vb.net för att underlätta för användaren när testarna startas. Samtidigt föreslås länkning till just regexpsidan som du skapat på pellesoft.


  2. Pelle Johansson
    10 jul 2003

    Det vore även bra om du kunde finna relaterade dokument som tidigare finns på pellesoft och sätta upp dessa som "relaterat till". Det underlättar för läsaren som vill läsa mer infomation.


  3. Johan Normén
    15 jul 2003

    Hej. Din artikel verkar bara sluta mitt i? Skall det vara så? "Denna RegExp skulle kunna användas för att validera en epostadress.. Så, nu går vi vidare till vad alla de olika tecknen och symbolerna egentligen betyder." <-- Inget mera... Mvh Johan


  4. Johan Segolsson
    15 jul 2003

    Det skulle vara trevligt om du hade en del enklare exempel, samt hur man använder regexp precis som pelle skrev...


  5. Sven Åke Persson
    28 jul 2003

    Mycket intressant,nu förstår jag lite mer av detta komplicerade ämne


  6. Pelle Johansson
    2 nov 2005

    Du nämner att du postade artikeln för tidigt, hade varit intressant att få läsa mer. Många elever kliar sig i huvudet för regexp och hade varit perfekt att referera till.


  7. Ola Lindfeldt
    31 jan 2006

    Ett trevligt program som underlättar när man ska ta fram ett RegEx: http://www.regexbuddy.com/

Skriv en kommentar på artikeln

Ditt betyg på artikeln



Kommentar:





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 159
27 952
271 704
1 580
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