Reguljära Uttryck




Init AB

Jonas Linde <jonas@init.se>

Historik

Varianter

[IEEE-POSIX]

Verktyg

[editor war]

Uppbyggnad

Uppbyggnad

Matchning

Backtracking

Atom

[lithium]

Metatecken i BRE & ERE

^ början av rad eller sträng
$ slut av rad eller sträng
. godtyckligt tecken
[] mängder och specialuttryck - se nedan
* noll eller fler av föregående atom
\ metaomvandlare?

Metatecken endast i ERE

| grenavgränsare
() gruppering
? noll eller en av föregående atom
+ en eller fler av föregående atom
{i} exakt i st. av föregående atom
{i,} minst i st. av föregående atom
{i,j} minst i men högst j st. av föregående atom

Skillnader i BRE

[lingon]

Tillägg i GNU

\n,\t,\r, newline, tab, carriage-return etc.
{,j} högst j st. av föregående atom
\< \> början resp. slut av ord
\b \B tom sträng vid ordgräns resp. inuti ett ord
\w \W samma som [_0-9a-zA-Z] resp. [^_0-9a-zA-Z]
\? \+ \| istället för ? + | i BRE
[GNU's not Un*x]

Mängder

Referenser

  • bakåtreferens

    a([bc])\1d (matchar “abbd” och “accd” men inte “abcd”)

  • ersättning

    s/a([bc])d/A\1D/ (ersätter “abd” med “AbD” och “acd” med “AcD”)

Specialuttryck

Perl compatible RE

[camel]

Perl6

[Camelia]

Övningar

[more dominoes]

Katter

[kitten]