1Regexp::Common::delimitUesde(r3)Contributed Perl DocumenRteagteixopn::Common::delimited(3)
2
3
4
6 Regexp::Common::delimited -- provides a regex for delimited strings
7
9 use Regexp::Common qw /delimited/;
10
11 while (<>) {
12 /$RE{delimited}{-delim=>'"'}/ and print 'a \" delimited string';
13 /$RE{delimited}{-delim=>'/'}/ and print 'a \/ delimited string';
14 }
15
17 Please consult the manual of Regexp::Common for a general description
18 of the works of this interface.
19
20 Do not use this module directly, but load it via Regexp::Common.
21
22 "$RE{delimited}{-delim}{-cdelim}{-esc}"
23 Returns a pattern that matches a single-character-delimited substring,
24 with optional internal escaping of the delimiter.
25
26 When "-delim =" S> is specified, each character in the sequence S is a
27 possible delimiter. There is no default delimiter, so this flag must
28 always be specified.
29
30 By default, the closing delimiter is the same character as the opening
31 delimiter. If this is not wanted, for instance, if you want to match a
32 string with symmetric delimiters, you can specify the closing
33 delimiter(s) with "-cdelim =" S>. Each character in S is matched with
34 the corresponding character supplied with the "-delim" option. If the
35 "-cdelim" option has less characters than the "-delim" option, the last
36 character is repeated as often as necessary. If the "-cdelim" option
37 has more characters than the "-delim" option, the extra characters are
38 ignored.
39
40 If "-esc =" S> is specified, each character in the sequence S is the
41 delimiter for the corresponding character in the "-delim=S" list. The
42 default escape is backslash.
43
44 For example:
45
46 $RE{delimited}{-delim=>'"'} # match "a \" delimited string"
47 $RE{delimited}{-delim=>'"'}{-esc=>'"'} # match "a "" delimited string"
48 $RE{delimited}{-delim=>'/'} # match /a \/ delimited string/
49 $RE{delimited}{-delim=>q{'"}} # match "string" or 'string'
50 $RE{delimited}{-delim=>"("}{-cdelim=>")"} # match (string)
51
52 Under "-keep" (See Regexp::Common):
53
54 $1 captures the entire match
55
56 $2 captures the opening delimiter
57
58 $3 captures delimited portion of the string
59
60 $4 captures the closing delimiter
61
62 $RE{quoted}{-esc}
63 A synonym for "$RE {delimited} {-delim => q {'"`}} {...}".
64
65 $RE {bquoted} {-esc}
66 This is a pattern which matches delimited strings, where the delimiters
67 are a set of matching brackets. Currently, this comes 85 pairs. This
68 includes the 60 pairs of bidirection paired brackets, as listed in
69 <http://www.unicode.org/Public/UNIDATA/BidiBrackets.txt>.
70
71 The other 25 pairs are the quotation marks, the double quotation marks,
72 the single and double pointing quoation marks, the heavy single and
73 double commas, 4 pairs of top-bottom parenthesis and brackets, 9 pairs
74 of presentation form for vertical brackets, and the low paraphrase,
75 raised omission, substitution, double substitution, and transposition
76 brackets.
77
78 In a future update, pairs may be added (or deleted).
79
80 This pattern requires perl 5.14.0 or higher.
81
82 For a full list of bracket pairs, inspect the output of
83 "Regexp::Common::delimited::bracket_pair ()", which returns a list of
84 two element arrays, each holding the Unicode names of matching pair of
85 delimiters.
86
87 The "{-esc => S }" works as in the "$RE {delimited}" pattern.
88
89 If "{-keep}" is given, the following things will be captured:
90
91 $1 captures the entire match
92
93 $2 captures the opening delimiter
94
95 $3 captures delimited portion of the string
96
97 $4 captures the closing delimiter
98
100 Regexp::Common for a general description of how to use this interface.
101
103 Damian Conway (damian@conway.org)
104
106 This package is maintained by Abigail (regexp-common@abigail.be).
107
109 Bound to be plenty.
110
111 For a start, there are many common regexes missing. Send them in to
112 regexp-common@abigail.be.
113
115 This software is Copyright (c) 2001 - 2017, Damian Conway and Abigail.
116
117 This module is free software, and maybe used under any of the following
118 licenses:
119
120 1) The Perl Artistic License. See the file COPYRIGHT.AL.
121 2) The Perl Artistic License 2.0. See the file COPYRIGHT.AL2.
122 3) The BSD License. See the file COPYRIGHT.BSD.
123 4) The MIT License. See the file COPYRIGHT.MIT.
124
125
126
127perl v5.36.0 2023-01-20 Regexp::Common::delimited(3)