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)
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
/#~+%
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
Kända personer
- Stephen Cole Kleene
Attribut med uttryck för input i HTML
pattern
Single character escape sequences for Javascript
\bbackspace (U+0008BACKSPACE)\fform feed (U+000CFORM FEED)\nline feed (U+000ALINE FEED)\rcarriage return (U+000DCARRIAGE RETURN)\thorizontal tab (U+0009CHARACTER TABULATION)\vvertical tab (U+000BLINE TABULATION)\0null character (U+0000NULL) (only if the next character is not a decimal digit; else it’s an octal escape sequence)\'single quote (U+0027APOSTROPHE)\"double quote (U+0022QUOTATION MARK)\\backslash (U+005CREVERSE 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
Exempel på hur man returnerar en array med look-behind i JavaScript
'Lorem ipsum'.match(\w+(?= ipsum)/));
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 PHP5.3.4(respektive PCRE7.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.*?).
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);
Funktion för att undvika specialtecken i PHP
quotemeta()
.\+*?[^]($)
Exempel på Non greedy
.*?
Exempel på Not
?!
Exempel på Select all HTML tags
<.[^>]*>
Programmeringsspråk
Program
Fil
Länkar
Externa länkar
- Regular expressions
- Debuggex.com
- Regex One.com lesson whitespaces
- Regular expressions.info
- Regular expressions.info Characters
- Php f1.com Tutorial
- Phpro.org Regex
- Regexr.com
- Wikipedia.org Regular expression
- Mullie.eu Regular expressions advanced
- Stackoverflow.com Questions Regexp matching string not starting with my
- Cheatography.com Dave child Cheat sheets Regular expressions
- Vim regex.com
- Regular expressions for pros