annotate doc/regexprops-generic.texi @ 16416:7d97985fae86

Tests for module 'remainderl'. * modules/remainderl-tests: New file. * tests/test-remainderl.c: New file. * tests/test-math-c++.cc: Check the declaration of remainderl.
author Bruno Haible <bruno@clisp.org>
date Sat, 25 Feb 2012 20:40:44 +0100
parents 9e763e250026
children e542fd46ad6f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
16201
8250f2777afc maint: update all copyright year number ranges
Jim Meyering <meyering@redhat.com>
parents: 14079
diff changeset
1 @c Copyright (C) 1994, 1996, 1998, 2000-2001, 2003-2007, 2009-2012 Free
14079
97fc9a21a8fb maint: update almost all copyright ranges to include 2011
Jim Meyering <meyering@redhat.com>
parents: 12559
diff changeset
2 @c Software Foundation, Inc.
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
3 @c
7146
f0b6593e5fab * regexprops-generic.texi: Add a copyright notice.
Paul Eggert <eggert@cs.ucla.edu>
parents: 6008
diff changeset
4 @c Permission is granted to copy, distribute and/or modify this document
10762
d67664a4e01c Change license to GFDLv1.3+.
Simon Josefsson <simon@josefsson.org>
parents: 10095
diff changeset
5 @c under the terms of the GNU Free Documentation License, Version 1.3 or
7146
f0b6593e5fab * regexprops-generic.texi: Add a copyright notice.
Paul Eggert <eggert@cs.ucla.edu>
parents: 6008
diff changeset
6 @c any later version published by the Free Software Foundation; with no
f0b6593e5fab * regexprops-generic.texi: Add a copyright notice.
Paul Eggert <eggert@cs.ucla.edu>
parents: 6008
diff changeset
7 @c Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
f0b6593e5fab * regexprops-generic.texi: Add a copyright notice.
Paul Eggert <eggert@cs.ucla.edu>
parents: 6008
diff changeset
8 @c Texts. A copy of the license is included in the ``GNU Free
f0b6593e5fab * regexprops-generic.texi: Add a copyright notice.
Paul Eggert <eggert@cs.ucla.edu>
parents: 6008
diff changeset
9 @c Documentation License'' file as part of this distribution.
f0b6593e5fab * regexprops-generic.texi: Add a copyright notice.
Paul Eggert <eggert@cs.ucla.edu>
parents: 6008
diff changeset
10
9500
4c535eec83bd * doc/regexprops-generic.texi: change "an close-group" to "a
James Youngman <jay@gnu.org>
parents: 7146
diff changeset
11 @c this regular expression description is for: generic
4c535eec83bd * doc/regexprops-generic.texi: change "an close-group" to "a
James Youngman <jay@gnu.org>
parents: 7146
diff changeset
12
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
13 @menu
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
14 * awk regular expression syntax::
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
15 * egrep regular expression syntax::
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
16 * ed regular expression syntax::
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
17 * emacs regular expression syntax::
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
18 * gnu-awk regular expression syntax::
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
19 * grep regular expression syntax::
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
20 * posix-awk regular expression syntax::
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
21 * posix-basic regular expression syntax::
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
22 * posix-egrep regular expression syntax::
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
23 * posix-extended regular expression syntax::
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
24 * posix-minimal-basic regular expression syntax::
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
25 * sed regular expression syntax::
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
26 @end menu
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
27
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
28 @node awk regular expression syntax
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
29 @subsection @samp{awk} regular expression syntax
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
30
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
31
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
32 The character @samp{.} matches any single character except the null character.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
33
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
34
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
35 @table @samp
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
36
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
37 @item +
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
38 indicates that the regular expression should match one or more occurrences of the previous atom or regexp.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
39 @item ?
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
40 indicates that the regular expression should match zero or one occurrence of the previous atom or regexp.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
41 @item \+
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
42 matches a @samp{+}
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
43 @item \?
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
44 matches a @samp{?}.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
45 @end table
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
46
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
47
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
48 Bracket expressions are used to match ranges of characters. Bracket expressions where the range is backward, for example @samp{[z-a]}, are invalid. Within square brackets, @samp{\} can be used to quote the following character. Character classes are not supported, so for example you would need to use @samp{[0-9]} instead of @samp{[[:digit:]]}.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
49
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
50 GNU extensions are not supported and so @samp{\w}, @samp{\W}, @samp{\<}, @samp{\>}, @samp{\b}, @samp{\B}, @samp{\`}, and @samp{\'} match @samp{w}, @samp{W}, @samp{<}, @samp{>}, @samp{b}, @samp{B}, @samp{`}, and @samp{'} respectively.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
51
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
52 Grouping is performed with parentheses @samp{()}. An unmatched @samp{)} matches just itself. A backslash followed by a digit matches that digit.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
53
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
54 The alternation operator is @samp{|}.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
55
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
56 The characters @samp{^} and @samp{$} always represent the beginning and end of a string respectively, except within square brackets. Within brackets, @samp{^} can be used to invert the membership of the character class being specified.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
57
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
58 @samp{*}, @samp{+} and @samp{?} are special at any point in a regular expression except:
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
59 @enumerate
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
60
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
61 @item At the beginning of a regular expression
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
62
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
63 @item After an open-group, signified by
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
64 @samp{(}
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
65 @item After the alternation operator @samp{|}
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
66
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
67 @end enumerate
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
68
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
69
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
70
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
71
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
72 The longest possible match is returned; this applies to the regular expression as a whole and (subject to this constraint) to subexpressions within groups.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
73
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
74
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
75 @node egrep regular expression syntax
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
76 @subsection @samp{egrep} regular expression syntax
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
77
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
78
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
79 The character @samp{.} matches any single character except newline.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
80
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
81
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
82 @table @samp
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
83
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
84 @item +
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
85 indicates that the regular expression should match one or more occurrences of the previous atom or regexp.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
86 @item ?
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
87 indicates that the regular expression should match zero or one occurrence of the previous atom or regexp.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
88 @item \+
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
89 matches a @samp{+}
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
90 @item \?
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
91 matches a @samp{?}.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
92 @end table
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
93
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
94
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
95 Bracket expressions are used to match ranges of characters. Bracket expressions where the range is backward, for example @samp{[z-a]}, are ignored. Within square brackets, @samp{\} is taken literally. Character classes are supported; for example @samp{[[:digit:]]} will match a single decimal digit. Non-matching lists @samp{[^@dots{}]} do not ever match newline.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
96
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
97 GNU extensions are supported:
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
98 @enumerate
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
99
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
100 @item @samp{\w} matches a character within a word
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
101
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
102 @item @samp{\W} matches a character which is not within a word
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
103
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
104 @item @samp{\<} matches the beginning of a word
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
105
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
106 @item @samp{\>} matches the end of a word
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
107
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
108 @item @samp{\b} matches a word boundary
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
109
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
110 @item @samp{\B} matches characters which are not a word boundary
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
111
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
112 @item @samp{\`} matches the beginning of the whole input
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
113
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
114 @item @samp{\'} matches the end of the whole input
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
115
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
116 @end enumerate
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
117
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
118
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
119 Grouping is performed with parentheses @samp{()}. A backslash followed by a digit acts as a back-reference and matches the same thing as the previous grouped expression indicated by that number. For example @samp{\2} matches the second group expression. The order of group expressions is determined by the position of their opening parenthesis @samp{(}.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
120
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
121 The alternation operator is @samp{|}.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
122
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
123 The characters @samp{^} and @samp{$} always represent the beginning and end of a string respectively, except within square brackets. Within brackets, @samp{^} can be used to invert the membership of the character class being specified.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
124
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
125 The characters @samp{*}, @samp{+} and @samp{?} are special anywhere in a regular expression.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
126
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
127
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
128
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
129 The longest possible match is returned; this applies to the regular expression as a whole and (subject to this constraint) to subexpressions within groups.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
130
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
131
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
132 @node ed regular expression syntax
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
133 @subsection @samp{ed} regular expression syntax
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
134
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
135
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
136 The character @samp{.} matches any single character except the null character.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
137
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
138
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
139 @table @samp
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
140
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
141 @item \+
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
142 indicates that the regular expression should match one or more occurrences of the previous atom or regexp.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
143 @item \?
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
144 indicates that the regular expression should match zero or one occurrence of the previous atom or regexp.
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
145 @item + and ?
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
146 match themselves.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
147 @end table
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
148
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
149
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
150 Bracket expressions are used to match ranges of characters. Bracket expressions where the range is backward, for example @samp{[z-a]}, are invalid. Within square brackets, @samp{\} is taken literally. Character classes are supported; for example @samp{[[:digit:]]} will match a single decimal digit.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
151
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
152 GNU extensions are supported:
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
153 @enumerate
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
154
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
155 @item @samp{\w} matches a character within a word
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
156
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
157 @item @samp{\W} matches a character which is not within a word
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
158
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
159 @item @samp{\<} matches the beginning of a word
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
160
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
161 @item @samp{\>} matches the end of a word
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
162
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
163 @item @samp{\b} matches a word boundary
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
164
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
165 @item @samp{\B} matches characters which are not a word boundary
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
166
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
167 @item @samp{\`} matches the beginning of the whole input
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
168
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
169 @item @samp{\'} matches the end of the whole input
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
170
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
171 @end enumerate
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
172
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
173
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
174 Grouping is performed with backslashes followed by parentheses @samp{\(}, @samp{\)}. A backslash followed by a digit acts as a back-reference and matches the same thing as the previous grouped expression indicated by that number. For example @samp{\2} matches the second group expression. The order of group expressions is determined by the position of their opening parenthesis @samp{\(}.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
175
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
176 The alternation operator is @samp{\|}.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
177
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
178 The character @samp{^} only represents the beginning of a string when it appears:
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
179 @enumerate
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
180
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
181 @item
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
182 At the beginning of a regular expression
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
183
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
184 @item After an open-group, signified by
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
185 @samp{\(}
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
186
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
187 @item After the alternation operator @samp{\|}
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
188
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
189 @end enumerate
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
190
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
191
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
192 The character @samp{$} only represents the end of a string when it appears:
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
193 @enumerate
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
194
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
195 @item At the end of a regular expression
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
196
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
197 @item Before a close-group, signified by
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
198 @samp{\)}
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
199 @item Before the alternation operator @samp{\|}
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
200
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
201 @end enumerate
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
202
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
203
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
204 @samp{\*}, @samp{\+} and @samp{\?} are special at any point in a regular expression except:
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
205 @enumerate
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
206
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
207 @item At the beginning of a regular expression
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
208
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
209 @item After an open-group, signified by
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
210 @samp{\(}
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
211 @item After the alternation operator @samp{\|}
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
212
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
213 @end enumerate
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
214
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
215
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
216 Intervals are specified by @samp{\@{} and @samp{\@}}. Invalid intervals such as @samp{a\@{1z} are not accepted.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
217
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
218 The longest possible match is returned; this applies to the regular expression as a whole and (subject to this constraint) to subexpressions within groups.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
219
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
220
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
221 @node emacs regular expression syntax
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
222 @subsection @samp{emacs} regular expression syntax
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
223
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
224
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
225 The character @samp{.} matches any single character except newline.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
226
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
227
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
228 @table @samp
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
229
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
230 @item +
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
231 indicates that the regular expression should match one or more occurrences of the previous atom or regexp.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
232 @item ?
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
233 indicates that the regular expression should match zero or one occurrence of the previous atom or regexp.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
234 @item \+
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
235 matches a @samp{+}
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
236 @item \?
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
237 matches a @samp{?}.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
238 @end table
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
239
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
240
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
241 Bracket expressions are used to match ranges of characters. Bracket expressions where the range is backward, for example @samp{[z-a]}, are ignored. Within square brackets, @samp{\} is taken literally. Character classes are not supported, so for example you would need to use @samp{[0-9]} instead of @samp{[[:digit:]]}.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
242
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
243 GNU extensions are supported:
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
244 @enumerate
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
245
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
246 @item @samp{\w} matches a character within a word
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
247
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
248 @item @samp{\W} matches a character which is not within a word
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
249
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
250 @item @samp{\<} matches the beginning of a word
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
251
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
252 @item @samp{\>} matches the end of a word
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
253
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
254 @item @samp{\b} matches a word boundary
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
255
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
256 @item @samp{\B} matches characters which are not a word boundary
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
257
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
258 @item @samp{\`} matches the beginning of the whole input
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
259
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
260 @item @samp{\'} matches the end of the whole input
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
261
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
262 @end enumerate
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
263
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
264
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
265 Grouping is performed with backslashes followed by parentheses @samp{\(}, @samp{\)}. A backslash followed by a digit acts as a back-reference and matches the same thing as the previous grouped expression indicated by that number. For example @samp{\2} matches the second group expression. The order of group expressions is determined by the position of their opening parenthesis @samp{\(}.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
266
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
267 The alternation operator is @samp{\|}.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
268
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
269 The character @samp{^} only represents the beginning of a string when it appears:
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
270 @enumerate
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
271
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
272 @item
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
273 At the beginning of a regular expression
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
274
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
275 @item After an open-group, signified by
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
276 @samp{\(}
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
277
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
278 @item After the alternation operator @samp{\|}
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
279
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
280 @end enumerate
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
281
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
282
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
283 The character @samp{$} only represents the end of a string when it appears:
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
284 @enumerate
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
285
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
286 @item At the end of a regular expression
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
287
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
288 @item Before a close-group, signified by
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
289 @samp{\)}
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
290 @item Before the alternation operator @samp{\|}
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
291
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
292 @end enumerate
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
293
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
294
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
295 @samp{*}, @samp{+} and @samp{?} are special at any point in a regular expression except:
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
296 @enumerate
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
297
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
298 @item At the beginning of a regular expression
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
299
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
300 @item After an open-group, signified by
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
301 @samp{\(}
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
302 @item After the alternation operator @samp{\|}
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
303
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
304 @end enumerate
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
305
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
306
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
307
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
308
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
309 The longest possible match is returned; this applies to the regular expression as a whole and (subject to this constraint) to subexpressions within groups.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
310
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
311
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
312 @node gnu-awk regular expression syntax
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
313 @subsection @samp{gnu-awk} regular expression syntax
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
314
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
315
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
316 The character @samp{.} matches any single character.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
317
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
318
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
319 @table @samp
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
320
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
321 @item +
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
322 indicates that the regular expression should match one or more occurrences of the previous atom or regexp.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
323 @item ?
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
324 indicates that the regular expression should match zero or one occurrence of the previous atom or regexp.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
325 @item \+
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
326 matches a @samp{+}
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
327 @item \?
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
328 matches a @samp{?}.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
329 @end table
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
330
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
331
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
332 Bracket expressions are used to match ranges of characters. Bracket expressions where the range is backward, for example @samp{[z-a]}, are invalid. Within square brackets, @samp{\} can be used to quote the following character. Character classes are supported; for example @samp{[[:digit:]]} will match a single decimal digit.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
333
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
334 GNU extensions are supported:
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
335 @enumerate
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
336
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
337 @item @samp{\w} matches a character within a word
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
338
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
339 @item @samp{\W} matches a character which is not within a word
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
340
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
341 @item @samp{\<} matches the beginning of a word
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
342
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
343 @item @samp{\>} matches the end of a word
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
344
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
345 @item @samp{\b} matches a word boundary
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
346
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
347 @item @samp{\B} matches characters which are not a word boundary
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
348
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
349 @item @samp{\`} matches the beginning of the whole input
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
350
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
351 @item @samp{\'} matches the end of the whole input
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
352
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
353 @end enumerate
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
354
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
355
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
356 Grouping is performed with parentheses @samp{()}. An unmatched @samp{)} matches just itself. A backslash followed by a digit acts as a back-reference and matches the same thing as the previous grouped expression indicated by that number. For example @samp{\2} matches the second group expression. The order of group expressions is determined by the position of their opening parenthesis @samp{(}.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
357
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
358 The alternation operator is @samp{|}.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
359
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
360 The characters @samp{^} and @samp{$} always represent the beginning and end of a string respectively, except within square brackets. Within brackets, @samp{^} can be used to invert the membership of the character class being specified.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
361
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
362 @samp{*}, @samp{+} and @samp{?} are special at any point in a regular expression except:
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
363 @enumerate
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
364
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
365 @item At the beginning of a regular expression
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
366
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
367 @item After an open-group, signified by
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
368 @samp{(}
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
369 @item After the alternation operator @samp{|}
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
370
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
371 @end enumerate
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
372
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
373
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
374
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
375
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
376 The longest possible match is returned; this applies to the regular expression as a whole and (subject to this constraint) to subexpressions within groups.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
377
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
378
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
379 @node grep regular expression syntax
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
380 @subsection @samp{grep} regular expression syntax
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
381
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
382
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
383 The character @samp{.} matches any single character except newline.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
384
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
385
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
386 @table @samp
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
387
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
388 @item \+
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
389 indicates that the regular expression should match one or more occurrences of the previous atom or regexp.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
390 @item \?
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
391 indicates that the regular expression should match zero or one occurrence of the previous atom or regexp.
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
392 @item + and ?
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
393 match themselves.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
394 @end table
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
395
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
396
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
397 Bracket expressions are used to match ranges of characters. Bracket expressions where the range is backward, for example @samp{[z-a]}, are ignored. Within square brackets, @samp{\} is taken literally. Character classes are supported; for example @samp{[[:digit:]]} will match a single decimal digit. Non-matching lists @samp{[^@dots{}]} do not ever match newline.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
398
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
399 GNU extensions are supported:
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
400 @enumerate
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
401
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
402 @item @samp{\w} matches a character within a word
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
403
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
404 @item @samp{\W} matches a character which is not within a word
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
405
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
406 @item @samp{\<} matches the beginning of a word
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
407
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
408 @item @samp{\>} matches the end of a word
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
409
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
410 @item @samp{\b} matches a word boundary
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
411
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
412 @item @samp{\B} matches characters which are not a word boundary
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
413
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
414 @item @samp{\`} matches the beginning of the whole input
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
415
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
416 @item @samp{\'} matches the end of the whole input
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
417
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
418 @end enumerate
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
419
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
420
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
421 Grouping is performed with backslashes followed by parentheses @samp{\(}, @samp{\)}. A backslash followed by a digit acts as a back-reference and matches the same thing as the previous grouped expression indicated by that number. For example @samp{\2} matches the second group expression. The order of group expressions is determined by the position of their opening parenthesis @samp{\(}.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
422
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
423 The alternation operator is @samp{\|}.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
424
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
425 The character @samp{^} only represents the beginning of a string when it appears:
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
426 @enumerate
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
427
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
428 @item
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
429 At the beginning of a regular expression
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
430
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
431 @item After an open-group, signified by
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
432 @samp{\(}
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
433
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
434 @item After a newline
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
435
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
436 @item After the alternation operator @samp{\|}
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
437
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
438 @end enumerate
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
439
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
440
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
441 The character @samp{$} only represents the end of a string when it appears:
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
442 @enumerate
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
443
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
444 @item At the end of a regular expression
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
445
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
446 @item Before a close-group, signified by
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
447 @samp{\)}
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
448 @item Before a newline
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
449
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
450 @item Before the alternation operator @samp{\|}
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
451
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
452 @end enumerate
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
453
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
454
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
455 @samp{\*}, @samp{\+} and @samp{\?} are special at any point in a regular expression except:
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
456 @enumerate
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
457
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
458 @item At the beginning of a regular expression
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
459
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
460 @item After an open-group, signified by
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
461 @samp{\(}
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
462 @item After a newline
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
463
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
464 @item After the alternation operator @samp{\|}
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
465
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
466 @end enumerate
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
467
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
468
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
469 Intervals are specified by @samp{\@{} and @samp{\@}}. Invalid intervals such as @samp{a\@{1z} are not accepted.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
470
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
471 The longest possible match is returned; this applies to the regular expression as a whole and (subject to this constraint) to subexpressions within groups.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
472
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
473
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
474 @node posix-awk regular expression syntax
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
475 @subsection @samp{posix-awk} regular expression syntax
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
476
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
477
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
478 The character @samp{.} matches any single character except the null character.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
479
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
480
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
481 @table @samp
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
482
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
483 @item +
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
484 indicates that the regular expression should match one or more occurrences of the previous atom or regexp.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
485 @item ?
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
486 indicates that the regular expression should match zero or one occurrence of the previous atom or regexp.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
487 @item \+
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
488 matches a @samp{+}
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
489 @item \?
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
490 matches a @samp{?}.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
491 @end table
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
492
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
493
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
494 Bracket expressions are used to match ranges of characters. Bracket expressions where the range is backward, for example @samp{[z-a]}, are invalid. Within square brackets, @samp{\} can be used to quote the following character. Character classes are supported; for example @samp{[[:digit:]]} will match a single decimal digit.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
495
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
496 GNU extensions are not supported and so @samp{\w}, @samp{\W}, @samp{\<}, @samp{\>}, @samp{\b}, @samp{\B}, @samp{\`}, and @samp{\'} match @samp{w}, @samp{W}, @samp{<}, @samp{>}, @samp{b}, @samp{B}, @samp{`}, and @samp{'} respectively.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
497
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
498 Grouping is performed with parentheses @samp{()}. An unmatched @samp{)} matches just itself. A backslash followed by a digit acts as a back-reference and matches the same thing as the previous grouped expression indicated by that number. For example @samp{\2} matches the second group expression. The order of group expressions is determined by the position of their opening parenthesis @samp{(}.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
499
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
500 The alternation operator is @samp{|}.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
501
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
502 The characters @samp{^} and @samp{$} always represent the beginning and end of a string respectively, except within square brackets. Within brackets, @samp{^} can be used to invert the membership of the character class being specified.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
503
9500
4c535eec83bd * doc/regexprops-generic.texi: change "an close-group" to "a
James Youngman <jay@gnu.org>
parents: 7146
diff changeset
504 @samp{*}, @samp{+} and @samp{?} are special at any point in a regular expression except the following places, where they are not allowed:
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
505 @enumerate
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
506
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
507 @item At the beginning of a regular expression
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
508
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
509 @item After an open-group, signified by
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
510 @samp{(}
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
511 @item After the alternation operator @samp{|}
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
512
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
513 @end enumerate
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
514
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
515
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
516 Intervals are specified by @samp{@{} and @samp{@}}. Invalid intervals such as @samp{a@{1z} are not accepted.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
517
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
518 The longest possible match is returned; this applies to the regular expression as a whole and (subject to this constraint) to subexpressions within groups.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
519
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
520
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
521 @node posix-basic regular expression syntax
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
522 @subsection @samp{posix-basic} regular expression syntax
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
523 This is a synonym for ed.
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
524 @node posix-egrep regular expression syntax
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
525 @subsection @samp{posix-egrep} regular expression syntax
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
526
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
527
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
528 The character @samp{.} matches any single character except newline.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
529
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
530
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
531 @table @samp
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
532
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
533 @item +
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
534 indicates that the regular expression should match one or more occurrences of the previous atom or regexp.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
535 @item ?
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
536 indicates that the regular expression should match zero or one occurrence of the previous atom or regexp.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
537 @item \+
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
538 matches a @samp{+}
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
539 @item \?
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
540 matches a @samp{?}.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
541 @end table
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
542
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
543
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
544 Bracket expressions are used to match ranges of characters. Bracket expressions where the range is backward, for example @samp{[z-a]}, are ignored. Within square brackets, @samp{\} is taken literally. Character classes are supported; for example @samp{[[:digit:]]} will match a single decimal digit. Non-matching lists @samp{[^@dots{}]} do not ever match newline.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
545
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
546 GNU extensions are supported:
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
547 @enumerate
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
548
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
549 @item @samp{\w} matches a character within a word
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
550
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
551 @item @samp{\W} matches a character which is not within a word
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
552
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
553 @item @samp{\<} matches the beginning of a word
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
554
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
555 @item @samp{\>} matches the end of a word
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
556
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
557 @item @samp{\b} matches a word boundary
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
558
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
559 @item @samp{\B} matches characters which are not a word boundary
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
560
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
561 @item @samp{\`} matches the beginning of the whole input
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
562
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
563 @item @samp{\'} matches the end of the whole input
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
564
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
565 @end enumerate
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
566
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
567
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
568 Grouping is performed with parentheses @samp{()}. A backslash followed by a digit acts as a back-reference and matches the same thing as the previous grouped expression indicated by that number. For example @samp{\2} matches the second group expression. The order of group expressions is determined by the position of their opening parenthesis @samp{(}.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
569
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
570 The alternation operator is @samp{|}.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
571
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
572 The characters @samp{^} and @samp{$} always represent the beginning and end of a string respectively, except within square brackets. Within brackets, @samp{^} can be used to invert the membership of the character class being specified.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
573
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
574 The characters @samp{*}, @samp{+} and @samp{?} are special anywhere in a regular expression.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
575
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
576 Intervals are specified by @samp{@{} and @samp{@}}. Invalid intervals are treated as literals, for example @samp{a@{1} is treated as @samp{a\@{1}
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
577
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
578 The longest possible match is returned; this applies to the regular expression as a whole and (subject to this constraint) to subexpressions within groups.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
579
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
580
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
581 @node posix-extended regular expression syntax
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
582 @subsection @samp{posix-extended} regular expression syntax
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
583
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
584
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
585 The character @samp{.} matches any single character except the null character.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
586
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
587
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
588 @table @samp
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
589
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
590 @item +
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
591 indicates that the regular expression should match one or more occurrences of the previous atom or regexp.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
592 @item ?
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
593 indicates that the regular expression should match zero or one occurrence of the previous atom or regexp.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
594 @item \+
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
595 matches a @samp{+}
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
596 @item \?
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
597 matches a @samp{?}.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
598 @end table
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
599
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
600
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
601 Bracket expressions are used to match ranges of characters. Bracket expressions where the range is backward, for example @samp{[z-a]}, are invalid. Within square brackets, @samp{\} is taken literally. Character classes are supported; for example @samp{[[:digit:]]} will match a single decimal digit.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
602
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
603 GNU extensions are supported:
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
604 @enumerate
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
605
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
606 @item @samp{\w} matches a character within a word
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
607
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
608 @item @samp{\W} matches a character which is not within a word
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
609
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
610 @item @samp{\<} matches the beginning of a word
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
611
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
612 @item @samp{\>} matches the end of a word
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
613
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
614 @item @samp{\b} matches a word boundary
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
615
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
616 @item @samp{\B} matches characters which are not a word boundary
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
617
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
618 @item @samp{\`} matches the beginning of the whole input
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
619
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
620 @item @samp{\'} matches the end of the whole input
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
621
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
622 @end enumerate
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
623
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
624
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
625 Grouping is performed with parentheses @samp{()}. An unmatched @samp{)} matches just itself. A backslash followed by a digit acts as a back-reference and matches the same thing as the previous grouped expression indicated by that number. For example @samp{\2} matches the second group expression. The order of group expressions is determined by the position of their opening parenthesis @samp{(}.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
626
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
627 The alternation operator is @samp{|}.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
628
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
629 The characters @samp{^} and @samp{$} always represent the beginning and end of a string respectively, except within square brackets. Within brackets, @samp{^} can be used to invert the membership of the character class being specified.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
630
9500
4c535eec83bd * doc/regexprops-generic.texi: change "an close-group" to "a
James Youngman <jay@gnu.org>
parents: 7146
diff changeset
631 @samp{*}, @samp{+} and @samp{?} are special at any point in a regular expression except the following places, where they are not allowed:
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
632 @enumerate
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
633
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
634 @item At the beginning of a regular expression
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
635
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
636 @item After an open-group, signified by
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
637 @samp{(}
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
638 @item After the alternation operator @samp{|}
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
639
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
640 @end enumerate
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
641
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
642
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
643 Intervals are specified by @samp{@{} and @samp{@}}. Invalid intervals such as @samp{a@{1z} are not accepted.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
644
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
645 The longest possible match is returned; this applies to the regular expression as a whole and (subject to this constraint) to subexpressions within groups.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
646
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
647
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
648 @node posix-minimal-basic regular expression syntax
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
649 @subsection @samp{posix-minimal-basic} regular expression syntax
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
650
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
651
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
652 The character @samp{.} matches any single character except the null character.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
653
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
654
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
655
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
656 Bracket expressions are used to match ranges of characters. Bracket expressions where the range is backward, for example @samp{[z-a]}, are invalid. Within square brackets, @samp{\} is taken literally. Character classes are supported; for example @samp{[[:digit:]]} will match a single decimal digit.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
657
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
658 GNU extensions are supported:
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
659 @enumerate
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
660
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
661 @item @samp{\w} matches a character within a word
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
662
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
663 @item @samp{\W} matches a character which is not within a word
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
664
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
665 @item @samp{\<} matches the beginning of a word
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
666
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
667 @item @samp{\>} matches the end of a word
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
668
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
669 @item @samp{\b} matches a word boundary
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
670
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
671 @item @samp{\B} matches characters which are not a word boundary
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
672
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
673 @item @samp{\`} matches the beginning of the whole input
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
674
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
675 @item @samp{\'} matches the end of the whole input
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
676
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
677 @end enumerate
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
678
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
679
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
680 Grouping is performed with backslashes followed by parentheses @samp{\(}, @samp{\)}. A backslash followed by a digit acts as a back-reference and matches the same thing as the previous grouped expression indicated by that number. For example @samp{\2} matches the second group expression. The order of group expressions is determined by the position of their opening parenthesis @samp{\(}.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
681
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
682
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
683
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
684 The character @samp{^} only represents the beginning of a string when it appears:
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
685 @enumerate
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
686
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
687 @item
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
688 At the beginning of a regular expression
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
689
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
690 @item After an open-group, signified by
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
691 @samp{\(}
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
692
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
693 @end enumerate
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
694
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
695
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
696 The character @samp{$} only represents the end of a string when it appears:
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
697 @enumerate
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
698
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
699 @item At the end of a regular expression
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
700
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
701 @item Before a close-group, signified by
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
702 @samp{\)}
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
703 @end enumerate
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
704
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
705
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
706
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
707
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
708 Intervals are specified by @samp{\@{} and @samp{\@}}. Invalid intervals such as @samp{a\@{1z} are not accepted.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
709
10095
60ed1a52905e remove trailing blanks
Jim Meyering <meyering@redhat.com>
parents: 9500
diff changeset
710 The longest possible match is returned; this applies to the regular expression as a whole and (subject to this constraint) to subexpressions within groups.
6008
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
711
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
712
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
713 @node sed regular expression syntax
47323bc9321f regexprops, generated by findutils helper
Karl Berry <karl@freefriends.org>
parents:
diff changeset
714 @subsection @samp{sed} regular expression syntax
16297
9e763e250026 maint: remove empty lines at EOF, but excluding modules/*
Jim Meyering <meyering@redhat.com>
parents: 16201
diff changeset
715 This is a synonym for ed.