diff options
Diffstat (limited to 'Master/tlpkg/tlperl/lib/pods/perlreref.pod')
-rw-r--r-- | Master/tlpkg/tlperl/lib/pods/perlreref.pod | 99 |
1 files changed, 53 insertions, 46 deletions
diff --git a/Master/tlpkg/tlperl/lib/pods/perlreref.pod b/Master/tlpkg/tlperl/lib/pods/perlreref.pod index ad970d2dce7..f5a79759296 100644 --- a/Master/tlpkg/tlperl/lib/pods/perlreref.pod +++ b/Master/tlpkg/tlperl/lib/pods/perlreref.pod @@ -21,7 +21,7 @@ false if the match succeeds, and true if it fails. $var !~ /foo/; -C<m/pattern/msixpogc> searches a string for a pattern match, +C<m/pattern/msixpogcdual> searches a string for a pattern match, applying the given options. m Multiline mode - ^ and $ match internal lines @@ -33,21 +33,28 @@ applying the given options. o compile pattern Once g Global - all occurrences c don't reset pos on failed matches when using /g + a restrict \d, \s, \w and [:posix:] to match ASCII only + aa (two a's) also /i matches exclude ASCII/non-ASCII + l match according to current locale + u match according to Unicode rules + d match according to native rules unless something indicates + Unicode If 'pattern' is an empty string, the last I<successfully> matched regex is used. Delimiters other than '/' may be used for both this operator and the following ones. The leading C<m> can be omitted if the delimiter is '/'. -C<qr/pattern/msixpo> lets you store a regex in a variable, +C<qr/pattern/msixpodual> lets you store a regex in a variable, or pass one around. Modifiers as for C<m//>, and are stored within the regex. -C<s/pattern/replacement/msixpogce> substitutes matches of +C<s/pattern/replacement/msixpogcedual> substitutes matches of 'pattern' with 'replacement'. Modifiers as for C<m//>, -with one addition: +with two additions: e Evaluate 'replacement' as an expression + r Return substitution and leave the original string untouched. 'e' may be specified multiple times. 'replacement' is interpreted as a double quoted string unless a single-quote (C<'>) is the delimiter. @@ -70,8 +77,8 @@ delimiters can be used. Must be reset with reset(). (...) Groups subexpressions for capturing to $1, $2... (?:...) Groups subexpressions without capturing (cluster) | Matches either the subexpression preceding or following it - \1, \2, \3 ... Matches the text from the Nth group \g1 or \g{1}, \g2 ... Matches the text from the Nth group + \1, \2, \3 ... Matches the text from the Nth group \g-1 or \g{-1}, \g-2 ... Matches the text from the Nth previous group \g{name} Named backreference \k<name> Named backreference @@ -93,7 +100,7 @@ These work as in normal strings. \x7f Char whose ordinal is the 2 hex digits, max \xFF \x{263a} Char whose ordinal is the hex number, unrestricted \cx Control-x - \N{name} A named Unicode character + \N{name} A named Unicode character or character sequence \N{U+263D} A Unicode character by hex ordinal \l Lowercase next character @@ -144,44 +151,40 @@ and L<perlunicode> for details. POSIX character classes and their Unicode and Perl equivalents: - ASCII- Full- - range range backslash - POSIX \p{...} \p{} sequence Description + ASCII- Full- + POSIX range range backslash + [[:...:]] \p{...} \p{...} sequence Description + ----------------------------------------------------------------------- - alnum PosixAlnum Alnum Alpha plus Digit - alpha PosixAlpha Alpha Alphabetic characters - ascii ASCII Any ASCII character - blank PosixBlank Blank \h Horizontal whitespace; - full-range also written - as \p{HorizSpace} (GNU - extension) - cntrl PosixCntrl Cntrl Control characters - digit PosixDigit Digit \d Decimal digits - graph PosixGraph Graph Alnum plus Punct - lower PosixLower Lower Lowercase characters - print PosixPrint Print Graph plus Print, but not - any Cntrls - punct PosixPunct Punct These aren't precisely - equivalent. See NOTE, - below. - space PosixSpace Space [\s\cK] Whitespace - PerlSpace SpacePerl \s Perl's whitespace - definition - upper PosixUpper Upper Uppercase characters - word PerlWord Word \w Alnum plus '_' (Perl - extension) - xdigit ASCII_Hex_Digit XDigit Hexadecimal digit, - ASCII-range is - [0-9A-Fa-f] - -NOTE on C<[[:punct:]]>, C<\p{PosixPunct}> and C<\p{Punct}>: -In the ASCII range, C<[[:punct:]]> and C<\p{PosixPunct}> match -C<[-!"#$%&'()*+,./:;<=E<gt>?@[\\\]^_`{|}~]> (although if a locale is in -effect, it could alter the behavior of C<[[:punct:]]>); and C<\p{Punct}> -matches C<[-!"#%&'()*,./:;?@[\\\]_{}]>. When matching a UTF-8 string, -C<[[:punct:]]> matches what it does in the ASCII range, plus what -C<\p{Punct}> matches. C<\p{Punct}> matches, anything that isn't a -control, an alphanumeric, a space, nor a symbol. + alnum PosixAlnum XPosixAlnum Alpha plus Digit + alpha PosixAlpha XPosixAlpha Alphabetic characters + ascii ASCII Any ASCII character + blank PosixBlank XPosixBlank \h Horizontal whitespace; + full-range also + written as + \p{HorizSpace} (GNU + extension) + cntrl PosixCntrl XPosixCntrl Control characters + digit PosixDigit XPosixDigit \d Decimal digits + graph PosixGraph XPosixGraph Alnum plus Punct + lower PosixLower XPosixLower Lowercase characters + print PosixPrint XPosixPrint Graph plus Print, but + not any Cntrls + punct PosixPunct XPosixPunct Punctuation and Symbols + in ASCII-range; just + punct outside it + space PosixSpace XPosixSpace [\s\cK] + PerlSpace XPerlSpace \s Perl's whitespace def'n + upper PosixUpper XPosixUpper Uppercase characters + word PerlWord XPosixWord \w Alnum + Unicode marks + + connectors, like '_' + (Perl extension) + xdigit ASCII_Hex_Digit XPosixDigit Hexadecimal digit, + ASCII-range is + [0-9A-Fa-f] + +Also, various synonyms like C<\p{Alpha}> for C<\p{XPosixAlpha}>; all listed +in L<perluniprops/Properties accessible through \p{} and \P{}> Within a character class: @@ -246,6 +249,10 @@ There is no quantifier C<{,n}>. That's interpreted as a literal string. (?P>name) Recurse into a named subpattern (python syntax) (?(cond)yes|no) (?(cond)yes) Conditional expression, where "cond" can be: + (?=pat) look-ahead + (?!pat) negative look-ahead + (?<=pat) look-behind + (?<!pat) negative look-behind (N) subpattern N has matched something (<name>) named subpattern has matched something ('name') named subpattern has matched something @@ -281,8 +288,8 @@ specify the C</p> (preserve) modifier on your regular expression. $^R Holds the result of the last (?{...}) expr @- Offsets of starts of groups. $-[0] holds start of whole match @+ Offsets of ends of groups. $+[0] holds end of whole match - %+ Named capture buffers - %- Named capture buffers, as array refs + %+ Named capture groups + %- Named capture groups, as array refs Captured groups are numbered according to their I<opening> paren. @@ -363,7 +370,7 @@ debugging. =item * -L<perldebug/"Debugging regular expressions"> +L<perldebug/"Debugging Regular Expressions"> =item * |