Regexp:...alanced(3)
πΈ NAME πΈ
okay so bestie, you're looking at the Regexp:...alanced(3) page from the User Contributed Perl Documentation β¨ and the manual name to keep in your head is Regexp::Common::balanced β it's the one that provides regexes for strings with balanced parenthesized delimiters or arbitrary delimiters π
π SYNOPSIS π
use Regexp::Common qw /balanced/;
while (<>) {
/$RE{balanced}{-parens=>'()'}/
and print q{balanced parentheses\n};
}
π DESCRIPTION π
Please consult the manual of Regexp::Common for a general description of the works of this interface π«Ά
π¨ Do not use this module directly, but load it via Regexp::Common. That's the whole rule, bestie β no sneaky direct loading.
π
$RE{balanced}{-parens} π
Returns a pattern that matches a string that starts with the nominated opening parenthesis or bracket, contains characters and properly nested parenthesized subsequences, and ends in the matching parenthesis β¨
More than one type of parenthesis can be specified:
$RE{balanced}{-parens=>'(){}'}
in which case all specified parenthesis types must be correctly balanced within the string π
Since version 2013030901, $1 will always be set (to the entire matched substring), regardless whether {-keep} is used or not. periodt πββοΈ
π¦ $RE{balanced}{-begin => "begin"}{-end => "end"} π¦
Returns a pattern that matches a string that is properly balanced using the begin and end strings as start and end delimiters π
Multiple sets of begin and end strings can be given by separating them by "|"s (which can be escaped with a backslash).
qr/$RE{balanced}{-begin => "do|if|case"}{-end => "done|fi|esac"}/
will match properly balanced strings that either start with do and end with done, start with if and end with fi, or start with case and end with esac π₯
If -end contains less cases than -begin, the last case of -end is repeated. If it contains more cases than -begin, the extra cases are ignored. If either of -begin or -end isn't given, or is empty, -begin => '(' and -end => ')' are assumed π
Since version 2013030901, $1 will always be set (to the entire matched substring), regardless whether {-keep} is used or not. no cap π
π§ Note π§
Since version 2013030901 the pattern will make of the recursive construct (?-1), instead of using the problematic (??{ }) construct. This fixes an problem that was introduced in the 5.17 development track. iykyk π
π SEE ALSO π
Regexp::Common for a general description of how to use this interface.
π AUTHOR π
Damian Conway (damian@conway.org)
π«Ά MAINTENANCE π«Ά
This package is maintained by Abigail (regexp-common@abigail.freedom.nl).
π BUGS AND IRRITATIONS π
Bound to be plenty.
For a start, there are many common regexes missing. Send them in to regexp-common@abigail.freedom.nl π¬
π LICENSE and COPYRIGHT π
This software is Copyright (c) 2001 - 2024, Damian Conway and Abigail.
This module is free software, and maybe used under any of the following licenses:
- The Perl Artistic License. See the file
COPYRIGHT.AL. - The Perl Artistic License 2.0. See the file
COPYRIGHT.AL2. - The BSD License. See the file
COPYRIGHT.BSD. - The MIT License. See the file
COPYRIGHT.MIT.
later bestie π this lil page is from perl v5.42.0, dated 2024-08-09, and it's the Regexp:...alanced(3) manpage β bye and slay π«Άβ¨
π¦ where this page comes from
- opensuse-leap 16.0: perl-Regexp-Common 2024080801.0.0-160000.2.2 Β· Artistic-1.0 OR Artistic-2.0 OR BSD-3-Clause OR MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms