Reguljärt uttryck
Ett reguljärt uttryckeller en regexp (-en, -ar) är ett fason för mönsterpassning som används i flera programspråk samt datorkommandon. Det handlar alltså ej försåvitt vilka "vanliga" uttryck som helst.Regexpar används när man i en speciell textmassa vill hitta ett okej ord eller mall av tecken samt eventuellt förändra ut det. Ett vanligt användningsområde samt åskådligt föredöme är kommandot grep(1) i Unix, som letar efter ett mall i en fil.
Mer avancerade samt fullständiga föredöme är den primitiva texteditorn ed(1) samt strömeditorn sed(1). En valmöjlighet variant av regexpar ingår i programspråket Perl. Olika varianter av regexpar är tillgängliga från Pike, Java, Elisp, Python samt som subrutinbibliotek i övriga programspråk. Det finns tre typer av regex-motorer: DFA, Traditional NFA samt POSIX NFA. Dessa hittar ej alltid samma träffar, samt åstadkommer det dessutom olika fartfyllt. För en jämförelse mellan olika implementationer, se http://www.bagley.org/~doug/shootout/bench/regexmatch/
Vanligt förekommande funktioner
fooordet foo.vilket tecken som helsta*noll eller flera av bokstaven a.*noll eller flera av vilket tecken som helsta+ett eller flera av bokstaven aa?noll eller ett av bokstaven a(foo)+en eller flera förekomster av strängen "foo"foo|bar strängen "foo" eller "bar"[ ab ]bokstaven a eller bokstaven b[ a-e ]någon av bokstäverna a, b, c, d eller e[ ^a ]något tecken som ej är bokstaven a[ -a ]något av tecknet subtrahera eller bokstaven a^abokstaven a främst villig en rada$bokstaven a sist villig en rad[tecknet vänsterklammer
Alla dessa funktioner ingår ej i alla implementationer, samt i vissa fall skall t ex + samt ( föregås av .
Specialare
För en del tecken krävs specialhantering. För att passa in ett ] (höger hakparantes), plikt detta skrivas främst i uttrycket som listar en mängd tecken, eftersom tecknet annars skulle understryka slutet villig mängden. [ ]a-z ] passar in villig någon av dom gemenena bokstäverna a mot samt med z plus villig höger hakparantes.
Knepigt är det att passa in ett minustecken (-), ofta promenerar det att anteckna tecknet sist i mängden, [ ]a-z- ], skada ibland funkar det bättre att anteckna tre minustecken i rad, [ ]a-z--- ], dvs från samt med subtrahera mot samt med minus.
Mer läsning
- En tutorial: http://www.regular-expressions.info/
- En signalement villig engelska av reguljära uttryck hittar du här: regex(7)
- Bibeln villig detta område är Jeffrey E. F. Friedls bok/Mastering Regular Expressions från OReilly.
- En svensk inledning av Pär Leijonhufvud, KI Consulting, http://www.ki.se/org/dk/kompendier/regex.html
- , från tecknade serien xkcd
Den här artikeln skulle nog behöva en tutorialdel likaså. Den är väldigt referensinriktad, som det är omedelbart. // Metaur
Artikeln skriven 2009-01-18 av Learning4sharing
Inga kategorier för denna artikel än...Intresserad av fler artiklar?
FlygsimulatorBetoning
Sture Lagercrantz
Folklivsforskare
LuPo
Kunskapsskolan
Fiskpinnar
Ecclesiastes
Gabriel