Regular-Expression: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Sed (Diskussion | Beiträge) |
|||
(4 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 56: | Zeile 56: | ||
! Ausdruck || Bedeutung | ! Ausdruck || Bedeutung | ||
|- | |- | ||
− | | <code> | + | | <code>[abc]</code> |
− | | | + | | a, b, or c (simple class) |
|- | |- | ||
− | | <code> | + | | <code>[^abc]</code> |
− | | | + | | Any character except a, b, or c (negation) |
+ | |- | ||
+ | | <code>[a-zA-Z]</code> | ||
+ | | a through z or A through Z, inclusive (range) | ||
+ | |- | ||
+ | | <code>[a-d[m-p]]</code> | ||
+ | | a through d, or m through p: [a-dm-p] (union) | ||
+ | |- | ||
+ | | <code>[a-z&&[def]]</code> | ||
+ | | d, e, or f (intersect1) | ||
+ | |- | ||
+ | | <code>[a-z&&[^bc]]</code> | ||
+ | | a through z, except for b and c: [ad-z] (subtraction) | ||
+ | |- | ||
+ | | <code>[a-z&&[^m-p]]</code> | ||
+ | | a through z, and not m through p: [a-lq-z](subtraction) | ||
|} | |} | ||
Zeile 69: | Zeile 84: | ||
! Ausdruck || Bedeutung | ! Ausdruck || Bedeutung | ||
|- | |- | ||
− | | <code> | + | | <code>.</code> |
− | | | + | | Any character |
|- | |- | ||
− | | <code> | + | | <code>\d</code> |
− | | | + | | A digit: [0-9] |
+ | |- | ||
+ | | <code>\D</code> | ||
+ | | A non-digit: [^0-9] | ||
+ | |- | ||
+ | | <code>\s</code> | ||
+ | | A whitespace character: [ \t\n\x0B\f\r] | ||
+ | |- | ||
+ | | <code>\S</code> | ||
+ | | A non-whitespace character: [^\s] | ||
+ | |- | ||
+ | | <code>\w</code> | ||
+ | | A word character: [a-zA-Z_0-9] | ||
+ | |- | ||
+ | | <code>\W</code> | ||
+ | | A non-word character: [^\w] | ||
|} | |} | ||
Zeile 82: | Zeile 112: | ||
! Ausdruck || Bedeutung | ! Ausdruck || Bedeutung | ||
|- | |- | ||
− | | <code> | + | | <code>\p{Lower}</code> |
− | | | + | | A lower-case alphabetic character: [a-z] |
+ | |- | ||
+ | | <code>\p{Upper}</code> | ||
+ | | An upper-case alphabetic character:[A-Z] | ||
+ | |- | ||
+ | | <code>\p{ASCII}</code> | ||
+ | | All ASCII:[\x00-\x7F] | ||
+ | |- | ||
+ | | <code>\p{Alpha}</code> | ||
+ | | An alphabetic character:[\p{Lower}\p{Upper}] | ||
+ | |- | ||
+ | | <code>\p{Digit}</code> | ||
+ | | A decimal digit: [0-9] | ||
+ | |- | ||
+ | | <code>\p{Alnum}</code> | ||
+ | | An alphanumeric character:[\p{Alpha}\p{Digit}] | ||
|- | |- | ||
− | | <code> | + | | <code>\p{Punct}</code> |
− | | | + | | Punctuation: One of !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ |
+ | |- | ||
+ | | <code>\p{Graph}</code> | ||
+ | | A visible character: [\p{Alnum}\p{Punct}] | ||
+ | |- | ||
+ | | <code>\p{Print}</code> | ||
+ | | A printable character: [\p{Graph}] | ||
+ | |- | ||
+ | | <code>\p{Blank}</code> | ||
+ | | A space or a tab: [ \t] | ||
+ | |- | ||
+ | | <code>\p{Cntrl}</code> | ||
+ | | A control character: [\x00-\x1F\x7F] | ||
+ | |- | ||
+ | | <code>\p{XDigit}</code> | ||
+ | | A hexadecimal digit: [0-9a-fA-F] | ||
+ | |- | ||
+ | | <code>\p{Space}</code> | ||
+ | | A whitespace character: [ \t\n\x0B\f\r] | ||
|} | |} | ||
Zeile 95: | Zeile 158: | ||
! Ausdruck || Bedeutung | ! Ausdruck || Bedeutung | ||
|- | |- | ||
− | | <code> | + | | <code>\p{InGreek}</code> |
− | | | + | | A character in the Greek block (simple block) |
+ | |- | ||
+ | | <code>\p{Lu}</code> | ||
+ | | An uppercase letter (simple category) | ||
+ | |- | ||
+ | | <code>\p{Sc}</code> | ||
+ | | A currency symbol | ||
|- | |- | ||
− | | <code> | + | | <code>\P{InGreek}</code> |
− | | | + | | Any character except one in the Greek block (negation) |
+ | |- | ||
+ | | <code>[\p{L}&&[^\p{Lu}]]</code> | ||
+ | | Any letter except an uppercase letter (subtraction) | ||
|} | |} | ||
Zeile 108: | Zeile 180: | ||
! Ausdruck || Bedeutung | ! Ausdruck || Bedeutung | ||
|- | |- | ||
− | | <code> | + | | <code>^</code> |
− | | | + | | The beginning of a line |
+ | |- | ||
+ | | <code>$</code> | ||
+ | | The end of a line | ||
+ | |- | ||
+ | | <code>\b</code> | ||
+ | | A word boundary | ||
|- | |- | ||
− | | <code> | + | | <code>\B</code> |
− | | | + | | A non-word boundary |
+ | |- | ||
+ | | <code>\A</code> | ||
+ | | The beginning of the input | ||
+ | |- | ||
+ | | <code>\G</code> | ||
+ | | The end of the previous match | ||
+ | |- | ||
+ | | <code>\Z</code> | ||
+ | | The end of the input but for the final terminator, if any | ||
+ | |- | ||
+ | | <code>\z</code> | ||
+ | | The end of the input | ||
|} | |} | ||
Zeile 121: | Zeile 211: | ||
! Ausdruck || Bedeutung | ! Ausdruck || Bedeutung | ||
|- | |- | ||
− | | <code> | + | | <code>X?</code> |
− | | | + | | X, once or not at all |
+ | |- | ||
+ | | <code>X*</code> | ||
+ | | X, zero or more times | ||
+ | |- | ||
+ | | <code>X+</code> | ||
+ | | X, one or more times | ||
+ | |- | ||
+ | | <code>X{n}</code> | ||
+ | | X, exactly n times | ||
+ | |- | ||
+ | | <code>X(n,}</code> | ||
+ | | X, at least n times | ||
|- | |- | ||
− | | <code> | + | | <code>X{n,m}</code> |
− | | | + | | X, at least n but not more than m times |
|} | |} | ||
Zeile 134: | Zeile 236: | ||
! Ausdruck || Bedeutung | ! Ausdruck || Bedeutung | ||
|- | |- | ||
− | | <code> | + | | <code>X??</code> |
− | | | + | | X, once or not at all |
+ | |- | ||
+ | | <code>X*?</code> | ||
+ | | X, zero or more times | ||
+ | |- | ||
+ | | <code>X+?</code> | ||
+ | | X, one or more times | ||
+ | |- | ||
+ | | <code>X{n}?</code> | ||
+ | | X, exactly n times | ||
|- | |- | ||
− | | <code> | + | | <code>X(n,}?</code> |
− | | | + | | X, at least n times |
+ | |- | ||
+ | | <code>X{n,m}?</code> | ||
+ | | X, at least n but not more than m times | ||
|} | |} | ||
Zeile 147: | Zeile 261: | ||
! Ausdruck || Bedeutung | ! Ausdruck || Bedeutung | ||
|- | |- | ||
− | | <code> | + | | <code>X?+</code> |
− | | | + | | X, once or not at all |
|- | |- | ||
− | | <code> | + | | <code>X*+</code> |
− | | | + | | X, zero or more times |
+ | |- | ||
+ | | <code>X++</code> | ||
+ | | X, one or more times | ||
+ | |- | ||
+ | | <code>X{n}+</code> | ||
+ | | X, exactly n times | ||
+ | |- | ||
+ | | <code>X(n,}+</code> | ||
+ | | X, at least n times | ||
+ | |- | ||
+ | | <code>X{n,m}+</code> | ||
+ | | X, at least n but not more than m times | ||
|} | |} | ||
Zeile 159: | Zeile 285: | ||
! Ausdruck || Bedeutung | ! Ausdruck || Bedeutung | ||
|- | |- | ||
− | | <code> | + | | <code>XY</code> |
− | | | + | | X followed by Y |
|- | |- | ||
− | | <code> | + | | <code>X|Y</code> |
− | | | + | | Either X or Y |
+ | |- | ||
+ | | <code>(X)</code> | ||
+ | | X, as a capturing group | ||
|} | |} | ||
Zeile 171: | Zeile 300: | ||
! Ausdruck || Bedeutung | ! Ausdruck || Bedeutung | ||
|- | |- | ||
− | | <code> | + | | <code>$n</code> |
− | | | + | | Whatever the n-th capturing group matched |
− | |||
− | |||
− | |||
|} | |} | ||
Zeile 249: | Zeile 375: | ||
<noinclude> | <noinclude> | ||
+ | [[Category:SPML]] | ||
[[Category:Qualität_des_Inhalts_prüfen]] | [[Category:Qualität_des_Inhalts_prüfen]] | ||
[[Category:Qualität_der_Sprache_prüfen]] | [[Category:Qualität_der_Sprache_prüfen]] | ||
[[Category:Qualität_des_Codes_prüfen]] | [[Category:Qualität_des_Codes_prüfen]] | ||
</noinclude> | </noinclude> |
Aktuelle Version vom 11. Februar 2013, 12:02 Uhr
Dieser Artikel bedarf einer Überarbeitung. Näheres ist auf der Diskussionsseite angegeben. Hilf bitte mit ihn zu verbessern und entferne anschließend diese Markierung. |
Beschreibung
Reguläre Ausdrücke sind Muster, mit denen man den Aufbau von Zeichenketten beschreibt.
Characters
Ausdruck | Bedeutung |
---|---|
x
|
The character x |
\\
|
The backslash character |
\0n
|
The character with octal value 0n (0 <= n <= 7) |
\0nn
|
The character with octal value 0nn (0 <= n <= 7) |
\0mnn
|
The character with octal value 0mnn (0 <= m <= 3, 0 <= n <= 7) |
\xhh
|
The character with hexadecimal value 0xhh |
\uhhhh
|
The character with hexadecimal value 0xhhhh |
\t
|
The tab character ('\u0009') |
\n
|
The newline (line feed) character ('\u000A') |
\r
|
The carriage-return character ('\u000D') |
\f
|
The form-feed character ('\u000C') |
\a
|
The alert (bell) character ('\u0007') |
\e
|
The escape character ('\u001B') |
\cx
|
The control character corresponding to x |
Character classes
Ausdruck | Bedeutung |
---|---|
[abc]
|
a, b, or c (simple class) |
[^abc]
|
Any character except a, b, or c (negation) |
[a-zA-Z]
|
a through z or A through Z, inclusive (range) |
[a-d[m-p]]
|
a through d, or m through p: [a-dm-p] (union) |
[a-z&&[def]]
|
d, e, or f (intersect1) |
[a-z&&[^bc]]
|
a through z, except for b and c: [ad-z] (subtraction) |
[a-z&&[^m-p]]
|
a through z, and not m through p: [a-lq-z](subtraction) |
Predefined character classes
Ausdruck | Bedeutung |
---|---|
.
|
Any character |
\d
|
A digit: [0-9] |
\D
|
A non-digit: [^0-9] |
\s
|
A whitespace character: [ \t\n\x0B\f\r] |
\S
|
A non-whitespace character: [^\s] |
\w
|
A word character: [a-zA-Z_0-9] |
\W
|
A non-word character: [^\w] |
POSIX character classes (US-ASCII only)
Ausdruck | Bedeutung |
---|---|
\p{Lower}
|
A lower-case alphabetic character: [a-z] |
\p{Upper}
|
An upper-case alphabetic character:[A-Z] |
\p{ASCII}
|
All ASCII:[\x00-\x7F] |
\p{Alpha}
|
An alphabetic character:[\p{Lower}\p{Upper}] |
\p{Digit}
|
A decimal digit: [0-9] |
\p{Alnum}
|
An alphanumeric character:[\p{Alpha}\p{Digit}] |
\p{Punct}
|
}~ |
\p{Graph}
|
A visible character: [\p{Alnum}\p{Punct}] |
\p{Print}
|
A printable character: [\p{Graph}] |
\p{Blank}
|
A space or a tab: [ \t] |
\p{Cntrl}
|
A control character: [\x00-\x1F\x7F] |
\p{XDigit}
|
A hexadecimal digit: [0-9a-fA-F] |
\p{Space}
|
A whitespace character: [ \t\n\x0B\f\r] |
Classes for Unicode blocks and categories
Ausdruck | Bedeutung |
---|---|
\p{InGreek}
|
A character in the Greek block (simple block) |
\p{Lu}
|
An uppercase letter (simple category) |
\p{Sc}
|
A currency symbol |
\P{InGreek}
|
Any character except one in the Greek block (negation) |
[\p{L}&&[^\p{Lu}]]
|
Any letter except an uppercase letter (subtraction) |
Boundary matchers
Ausdruck | Bedeutung |
---|---|
^
|
The beginning of a line |
$
|
The end of a line |
\b
|
A word boundary |
\B
|
A non-word boundary |
\A
|
The beginning of the input |
\G
|
The end of the previous match |
\Z
|
The end of the input but for the final terminator, if any |
\z
|
The end of the input |
Greedy quantifiers
Ausdruck | Bedeutung |
---|---|
X?
|
X, once or not at all |
X*
|
X, zero or more times |
X+
|
X, one or more times |
X{n}
|
X, exactly n times |
X(n,}
|
X, at least n times |
X{n,m}
|
X, at least n but not more than m times |
Reluctant quantifiers
Ausdruck | Bedeutung |
---|---|
X??
|
X, once or not at all |
X*?
|
X, zero or more times |
X+?
|
X, one or more times |
X{n}?
|
X, exactly n times |
X(n,}?
|
X, at least n times |
X{n,m}?
|
X, at least n but not more than m times |
Possessive quantifiers
Ausdruck | Bedeutung |
---|---|
X?+
|
X, once or not at all |
X*+
|
X, zero or more times |
X++
|
X, one or more times |
X{n}+
|
X, exactly n times |
X(n,}+
|
X, at least n times |
X{n,m}+
|
X, at least n but not more than m times |
Logical operators
Ausdruck | Bedeutung |
---|---|
XY
|
X followed by Y |
Y | Either X or Y |
(X)
|
X, as a capturing group |
Back references
Ausdruck | Bedeutung |
---|---|
$n
|
Whatever the n-th capturing group matched |
Quotation
Ausdruck | Bedeutung |
---|---|
\
|
Nothing, but quotes the following character |
\Q
|
Nothing, but quotes all characters until \E |
\E
|
Nothing, but ends quoting started by \Q |
Special constructs (non-capturing)
Ausdruck | Bedeutung |
---|---|
(?:X)
|
X, as a non-capturing group |
(?idmsux-idmsux)
|
Nothing, but turns match flags on - off |
(?idmsux-idmsux:X)
|
X, as a non-capturing group with the given flags on - off |
(?=X)
|
X, via zero-width positive lookahead |
(?!X)
|
X, via zero-width negative lookahead |
(?<=X)
|
X, via zero-width negative lookahead |
(?>X)
|
X, as an independent, non-capturing group |
Embedded flag expressions
Ausdruck | Bedeutung |
---|---|
(?u)
|
Pattern.UNICODE_CASE |
(?s)
|
Pattern.DOTALL |
(?m)
|
Pattern.MULTILINE |
(?i)
|
Pattern.CASE_INSENSITIVE |
(?x)
|
Pattern.COMMENTS |
(?d)
|
Pattern.UNIX_LINES |
---
|
Pattern.CANON_EQ (not available) |