Regex

Regexp

Förkortningar

  • REGEX(P) - Regular expressions
  • PCRE - Perl Compatible Regular Expressions
  • POSIX - Portable Operating System Interface for uniX

Typer

  • Basic Regular Expressions (BRE)
  • Extended Regular Expressions (ERE)
  • Advanced Regular Expressions (ARE)
Ancient egyptian regexp

Tecken

Kom ihåg att Windows filer använder \r\n för att avsluta rader, medan UNIX filer använder \n

Meta-tecken (metacharacters)

  • Backslash \
  • Hustak^
  • Dollar-tecken $
  • Punkt .
  • Pipe |
  • Fråge-tecken ?
  • Stjärna *
  • Plus-tecken +
  • Start-parentes (
  • Slut-parentes )
  • Hak-parentes [
  • Krull-parentes {

Dessa special tecken kallas ofta "meta-tecken"

Delimiters

  • /
  • #
  • ~
  • +
  • %
Logotyp för A-Z

Generic character types

Another use of backslash is for specifying generic character types:

  • \dany decimal digit
  • \Dany character that is not a decimal digit
  • \hany horizontal white space character
  • \Hany character that is not a horizontal white space character
  • \sany white space character
  • \Sany character that is not a white space character
  • \vany vertical white space character
  • \Vany character that is not a vertical white space character
  • \wany "word" character
  • \Wany "non-word" character
Läs mer om Generic character types i manualen för PCRE här Svartvitt fotografi på Stephen Cole Kleene

Kända personer

  • Stephen Cole Kleene

Attribut med uttryck för input i HTML

pattern

Single character escape sequences for Javascript

  • \bbackspace (U+0008 BACKSPACE)
  • \fform feed (U+000C FORM FEED)
  • \nline feed (U+000A LINE FEED)
  • \rcarriage return (U+000D CARRIAGE RETURN)
  • \thorizontal tab (U+0009 CHARACTER TABULATION)
  • \vvertical tab (U+000B LINE TABULATION)
  • \0null character (U+0000 NULL) (only if the next character is not a decimal digit; else it’s an octal escape sequence)
  • \'single quote (U+0027 APOSTROPHE)
  • \"double quote (U+0022 QUOTATION MARK)
  • \\backslash (U+005C REVERSE SOLIDUS)

Funktioner i Javascript

  • exec()
  • test()
  • match()
  • matchAll()
  • search()
  • replace()
  • split()

Exempel på test med regex i JavaScript

new RegExp('ipsum').test('Lorem ipsum dolor') Testa här Flaggor

Exempel på vanliga flaggor i PHP

s (PCRE_DOTALL)
Om denna modifierare är satt, matchar en punkt alla tecken i ett mönster pattern inklusive radbrytning. Utan den, är radbrytningar exkluderade. Denna modifierare är samma som modifieraren /sPerl. En negativ klass som [^a] matchar alltid ett tecken för radbrytning, oavsett på vilket sätt denna modifierare används.
i (PCRE_CASELESS)
Om denna modifierare är satt, matchar bokstäver i ett mönster både små och stora bokstäver.
u (PCRE_UTF8)
Denna modifierare slår på fler funktioner av PCRE som är inkompatibla med Perl. Mönster- och ämnes-strängar behandlas nu som UTF-8. Ett ogiltigt ämne kommer leda till att funktionen preg_* inte matchar någonting; ett ogiltigt mönster kommer trigga ett fel av nivå E_WARNING. Fem och sex okteter UTF-8 sekvenser avses som ogiltiga sedan PHP 5.3.4 (respektive PCRE 7.3 ); tidigare har dessa varit giltiga i UTF-8.
U (PCRE_UNGREEDY)
Denna modifierare inverterar "girighet" på kvantifierararna så att de inte är giriga som standard, men blir giriga om de följs av ?. Det är inte kompatibelt med Perl. Det kan även vara satt av en (?U) modifierare i ett mönster eller av en frågetecken bakom en kvantifierare (exempelvis .*?).
Läs mer om Pattern modifiers

Funktioner i PHP

  • preg_match()
  • preg_match_all()
  • preg_replace()
  • preg_quote()
  • preg_grep()
  • preg_slit()

Replacement av Lorem ipsum i PHP

$old = 'Lorem ipsum dolor'; $new = preg_replace('/lorem (.*?) ipsum/', '$1', $old);

Exempel på Non greedy

.*?

Exempel på Not

?!

Exempel på Select all HTML tags

<.[^>]*> UNIX timestamp PHP logotyp

Programmeringsspråk

Vim logotyp

Program

Exempel på hur en fil med Htaccess kan se ut

Fil

Kopp med grön matcha

Externa länkar

Logotyp för OPTIMERA