From: Vincent Pit Date: Thu, 26 Feb 2009 15:24:37 +0000 (+0100) Subject: Cleaner items for POD lists X-Git-Tag: v1.03~2 X-Git-Url: http://git.vpit.fr/?p=perl%2Fmodules%2FRegexp-Wildcards.git;a=commitdiff_plain;h=aef8f8aabf33e6f894d09a6f528fd04ebdecbde9 Cleaner items for POD lists --- diff --git a/lib/Regexp/Wildcards.pm b/lib/Regexp/Wildcards.pm index abb59f0..2dd5b57 100644 --- a/lib/Regexp/Wildcards.pm +++ b/lib/Regexp/Wildcards.pm @@ -230,27 +230,35 @@ They fit into six classes : =item * -C<'jokers'> converts C to C<.> and C<*> to C<.*> ; +C<'jokers'> + +Converts C to C<.> and C<*> to C<.*>. 'a**\\*b??\\?c' ==> 'a.*\\*b..\\?c' =item * -C<'sql'> converts C<_> to C<.> and C<%> to C<.*> ; +C<'sql'> + +Converts C<_> to C<.> and C<%> to C<.*>. 'a%%\\%b__\\_c' ==> 'a.*\\%b..\\_c' =item * -C<'commas'> converts all C<,> to C<|> and puts the complete resulting regular expression inside C<(?: ... )> ; +C<'commas'> + +Converts all C<,> to C<|> and puts the complete resulting regular expression inside C<(?: ... )>. 'a,b{c,d},e' ==> '(?:a|b\\{c|d\\}|e)' =item * -C<'brackets'> converts all matching C<{ ... , ... }> brackets to C<(?: ... | ... )> alternations. +C<'brackets'> + +Converts all matching C<{ ... , ... }> brackets to C<(?: ... | ... )> alternations. If some brackets are unbalanced, it tries to substitute as many of them as possible, and then escape the remaining unmatched C<{> and C<}>. -Commas outside of any bracket-delimited block are also escaped ; +Commas outside of any bracket-delimited block are also escaped. 'a,b{c,d},e' ==> 'a\\,b(?:c|d)\\,e' '{a\\{b,c}d,e}' ==> '(?:a\\{b|c)d\\,e\\}' @@ -258,14 +266,18 @@ Commas outside of any bracket-delimited block are also escaped ; =item * -C<'groups'> keeps the parenthesis C<( ... )> of the original string without escaping them. +C<'groups'> + +Keeps the parenthesis C<( ... )> of the original string without escaping them. Currently, no check is done to ensure that the parenthesis are matching. 'a(b(c))d\\(\\)' ==> (no change) =item * -C<'anchors'> prevents the I C<^> and I C<$> anchors to be escaped. +C<'anchors'> + +Prevents the I C<^> and I C<$> anchors to be escaped. Since C<[...]> character class are currently escaped, a C<^> will always be interpreted as I. 'a^b$c' ==> (no change) @@ -366,28 +378,36 @@ This method works like L, except that the classes are different : =item * -C<'single'> will capture all unescaped I<"exactly one"> metacharacters, i.e. C for wildcards or C<_> for SQL ; +C<'single'> + +Captures all unescaped I<"exactly one"> metacharacters, i.e. C for wildcards or C<_> for SQL. 'a???b\\??' ==> 'a(.)(.)(.)b\\?(.)' 'a___b\\__' ==> 'a(.)(.)(.)b\\_(.)' =item * -C<'any'> will capture all unescaped I<"any"> metacharacters, i.e. C<*> for wildcards or C<%> for SQL ; +C<'any'> + +Captures all unescaped I<"any"> metacharacters, i.e. C<*> for wildcards or C<%> for SQL. 'a***b\\**' ==> 'a(.*)b\\*(.*)' 'a%%%b\\%%' ==> 'a(.*)b\\%(.*)' =item * -C<'greedy'>, when used in conjunction with C<'any'>, will make the C<'any'> captures greedy (by default they are not) ; +C<'greedy'> + +When used in conjunction with C<'any'>, it makes the C<'any'> captures greedy (by default they are not). 'a***b\\**' ==> 'a(.*?)b\\*(.*?)' 'a%%%b\\%%' ==> 'a(.*?)b\\%(.*?)' =item * -C<'brackets'> will capture matching C<{ ... , ... }> alternations. +C<'brackets'> + +Capture matching C<{ ... , ... }> alternations. 'a{b\\},\\{c}' ==> 'a(b\\}|\\{c)'