Regex
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:
\d
any decimal digit\D
any character that is not a decimal digit\h
any horizontal white space character\H
any character that is not a horizontal white space character\s
any white space character\S
any character that is not a white space character\v
any vertical white space character\V
any character that is not a vertical white space character\w
any "word" character\W
any "non-word" character
Kända personer
- Stephen Cole Kleene
Attribut med uttryck för input i HTML
pattern
Single character escape sequences for Javascript
\b
backspace (U+0008
BACKSPACE)\f
form feed (U+000C
FORM FEED)\n
line feed (U+000A
LINE FEED)\r
carriage return (U+000D
CARRIAGE RETURN)\t
horizontal tab (U+0009
CHARACTER TABULATION)\v
vertical tab (U+000B
LINE TABULATION)\0
null 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
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
/s
Perl. 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);
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