X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=doc%2Fregexprops-generic.texi;h=e70d9546f24e309bacb81b236e8fb7b1d4f2d816;hb=ccd7ccb010c3a2a509ac39236a4411581368148c;hp=cad909b056aadd807968b564b1c83a4298f62a15;hpb=f2e592bfe3e001764b5031e38e102dd914c84b5f;p=gnulib.git diff --git a/doc/regexprops-generic.texi b/doc/regexprops-generic.texi index cad909b05..e70d9546f 100644 --- a/doc/regexprops-generic.texi +++ b/doc/regexprops-generic.texi @@ -1,3 +1,15 @@ +@c Copyright (C) 1994, 1996, 1998, 2000-2001, 2003-2007, 2009-2011 Free +@c Software Foundation, Inc. +@c +@c Permission is granted to copy, distribute and/or modify this document +@c under the terms of the GNU Free Documentation License, Version 1.3 or +@c any later version published by the Free Software Foundation; with no +@c Invariant Sections, with no Front-Cover Texts, and with no Back-Cover +@c Texts. A copy of the license is included in the ``GNU Free +@c Documentation License'' file as part of this distribution. + +@c this regular expression description is for: generic + @menu * awk regular expression syntax:: * egrep regular expression syntax:: @@ -17,38 +29,38 @@ @subsection @samp{awk} regular expression syntax -The character @samp{.} matches any single character except the null character. +The character @samp{.} matches any single character except the null character. @table @samp @item + -indicates that the regular expression should match one or more occurrences of the previous atom or regexp. +indicates that the regular expression should match one or more occurrences of the previous atom or regexp. @item ? -indicates that the regular expression should match zero or one occurrence of the previous atom or regexp. +indicates that the regular expression should match zero or one occurrence of the previous atom or regexp. @item \+ matches a @samp{+} @item \? -matches a @samp{?}. +matches a @samp{?}. @end table -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:]]}. +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:]]}. -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. +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. -Grouping is performed with parentheses @samp{()}. An unmatched @samp{)} matches just itself. A backslash followed by a digit matches that digit. +Grouping is performed with parentheses @samp{()}. An unmatched @samp{)} matches just itself. A backslash followed by a digit matches that digit. -The alternation operator is @samp{|}. +The alternation operator is @samp{|}. -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. +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. @samp{*}, @samp{+} and @samp{?} are special at any point in a regular expression except: @enumerate @item At the beginning of a regular expression -@item After an open-group, signified by +@item After an open-group, signified by @samp{(} @item After the alternation operator @samp{|} @@ -57,30 +69,30 @@ The characters @samp{^} and @samp{$} always represent the beginning and end of a -The longest possible match is returned; this applies to the regular expression as a whole and (subject to this constraint) to subexpressions within groups. +The longest possible match is returned; this applies to the regular expression as a whole and (subject to this constraint) to subexpressions within groups. @node egrep regular expression syntax @subsection @samp{egrep} regular expression syntax -The character @samp{.} matches any single character except newline. +The character @samp{.} matches any single character except newline. @table @samp @item + -indicates that the regular expression should match one or more occurrences of the previous atom or regexp. +indicates that the regular expression should match one or more occurrences of the previous atom or regexp. @item ? -indicates that the regular expression should match zero or one occurrence of the previous atom or regexp. +indicates that the regular expression should match zero or one occurrence of the previous atom or regexp. @item \+ matches a @samp{+} @item \? -matches a @samp{?}. +matches a @samp{?}. @end table -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. +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. GNU extensions are supported: @enumerate @@ -104,38 +116,38 @@ GNU extensions are supported: @end enumerate -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{(}. +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{(}. -The alternation operator is @samp{|}. +The alternation operator is @samp{|}. -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. +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. -The characters @samp{*}, @samp{+} and @samp{?} are special anywhere in a regular expression. +The characters @samp{*}, @samp{+} and @samp{?} are special anywhere in a regular expression. -The longest possible match is returned; this applies to the regular expression as a whole and (subject to this constraint) to subexpressions within groups. +The longest possible match is returned; this applies to the regular expression as a whole and (subject to this constraint) to subexpressions within groups. @node ed regular expression syntax @subsection @samp{ed} regular expression syntax -The character @samp{.} matches any single character except the null character. +The character @samp{.} matches any single character except the null character. @table @samp @item \+ -indicates that the regular expression should match one or more occurrences of the previous atom or regexp. +indicates that the regular expression should match one or more occurrences of the previous atom or regexp. @item \? -indicates that the regular expression should match zero or one occurrence of the previous atom or regexp. -@item + and ? -match themselves. +indicates that the regular expression should match zero or one occurrence of the previous atom or regexp. +@item + and ? +match themselves. @end table -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. +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. GNU extensions are supported: @enumerate @@ -159,17 +171,17 @@ GNU extensions are supported: @end enumerate -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{\(}. +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{\(}. -The alternation operator is @samp{\|}. +The alternation operator is @samp{\|}. The character @samp{^} only represents the beginning of a string when it appears: @enumerate -@item +@item At the beginning of a regular expression -@item After an open-group, signified by +@item After an open-group, signified by @samp{\(} @item After the alternation operator @samp{\|} @@ -182,7 +194,7 @@ The character @samp{$} only represents the end of a string when it appears: @item At the end of a regular expression -@item Before an close-group, signified by +@item Before a close-group, signified by @samp{\)} @item Before the alternation operator @samp{\|} @@ -194,39 +206,39 @@ The character @samp{$} only represents the end of a string when it appears: @item At the beginning of a regular expression -@item After an open-group, signified by +@item After an open-group, signified by @samp{\(} @item After the alternation operator @samp{\|} @end enumerate -Intervals are specified by @samp{\@{} and @samp{\@}}. Invalid intervals such as @samp{a\@{1z} are not accepted. +Intervals are specified by @samp{\@{} and @samp{\@}}. Invalid intervals such as @samp{a\@{1z} are not accepted. -The longest possible match is returned; this applies to the regular expression as a whole and (subject to this constraint) to subexpressions within groups. +The longest possible match is returned; this applies to the regular expression as a whole and (subject to this constraint) to subexpressions within groups. @node emacs regular expression syntax @subsection @samp{emacs} regular expression syntax -The character @samp{.} matches any single character except newline. +The character @samp{.} matches any single character except newline. @table @samp @item + -indicates that the regular expression should match one or more occurrences of the previous atom or regexp. +indicates that the regular expression should match one or more occurrences of the previous atom or regexp. @item ? -indicates that the regular expression should match zero or one occurrence of the previous atom or regexp. +indicates that the regular expression should match zero or one occurrence of the previous atom or regexp. @item \+ matches a @samp{+} @item \? -matches a @samp{?}. +matches a @samp{?}. @end table -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:]]}. +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:]]}. GNU extensions are supported: @enumerate @@ -250,17 +262,17 @@ GNU extensions are supported: @end enumerate -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{\(}. +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{\(}. -The alternation operator is @samp{\|}. +The alternation operator is @samp{\|}. The character @samp{^} only represents the beginning of a string when it appears: @enumerate -@item +@item At the beginning of a regular expression -@item After an open-group, signified by +@item After an open-group, signified by @samp{\(} @item After the alternation operator @samp{\|} @@ -273,7 +285,7 @@ The character @samp{$} only represents the end of a string when it appears: @item At the end of a regular expression -@item Before an close-group, signified by +@item Before a close-group, signified by @samp{\)} @item Before the alternation operator @samp{\|} @@ -285,7 +297,7 @@ The character @samp{$} only represents the end of a string when it appears: @item At the beginning of a regular expression -@item After an open-group, signified by +@item After an open-group, signified by @samp{\(} @item After the alternation operator @samp{\|} @@ -294,30 +306,30 @@ The character @samp{$} only represents the end of a string when it appears: -The longest possible match is returned; this applies to the regular expression as a whole and (subject to this constraint) to subexpressions within groups. +The longest possible match is returned; this applies to the regular expression as a whole and (subject to this constraint) to subexpressions within groups. @node gnu-awk regular expression syntax @subsection @samp{gnu-awk} regular expression syntax -The character @samp{.} matches any single character. +The character @samp{.} matches any single character. @table @samp @item + -indicates that the regular expression should match one or more occurrences of the previous atom or regexp. +indicates that the regular expression should match one or more occurrences of the previous atom or regexp. @item ? -indicates that the regular expression should match zero or one occurrence of the previous atom or regexp. +indicates that the regular expression should match zero or one occurrence of the previous atom or regexp. @item \+ matches a @samp{+} @item \? -matches a @samp{?}. +matches a @samp{?}. @end table -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. +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. GNU extensions are supported: @enumerate @@ -341,18 +353,18 @@ GNU extensions are supported: @end enumerate -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{(}. +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{(}. -The alternation operator is @samp{|}. +The alternation operator is @samp{|}. -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. +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. @samp{*}, @samp{+} and @samp{?} are special at any point in a regular expression except: @enumerate @item At the beginning of a regular expression -@item After an open-group, signified by +@item After an open-group, signified by @samp{(} @item After the alternation operator @samp{|} @@ -361,28 +373,28 @@ The characters @samp{^} and @samp{$} always represent the beginning and end of a -The longest possible match is returned; this applies to the regular expression as a whole and (subject to this constraint) to subexpressions within groups. +The longest possible match is returned; this applies to the regular expression as a whole and (subject to this constraint) to subexpressions within groups. @node grep regular expression syntax @subsection @samp{grep} regular expression syntax -The character @samp{.} matches any single character except newline. +The character @samp{.} matches any single character except newline. @table @samp @item \+ -indicates that the regular expression should match one or more occurrences of the previous atom or regexp. +indicates that the regular expression should match one or more occurrences of the previous atom or regexp. @item \? -indicates that the regular expression should match zero or one occurrence of the previous atom or regexp. -@item + and ? -match themselves. +indicates that the regular expression should match zero or one occurrence of the previous atom or regexp. +@item + and ? +match themselves. @end table -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. +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. GNU extensions are supported: @enumerate @@ -406,17 +418,17 @@ GNU extensions are supported: @end enumerate -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{\(}. +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{\(}. -The alternation operator is @samp{\|}. +The alternation operator is @samp{\|}. The character @samp{^} only represents the beginning of a string when it appears: @enumerate -@item +@item At the beginning of a regular expression -@item After an open-group, signified by +@item After an open-group, signified by @samp{\(} @item After a newline @@ -431,7 +443,7 @@ The character @samp{$} only represents the end of a string when it appears: @item At the end of a regular expression -@item Before an close-group, signified by +@item Before a close-group, signified by @samp{\)} @item Before a newline @@ -445,7 +457,7 @@ The character @samp{$} only represents the end of a string when it appears: @item At the beginning of a regular expression -@item After an open-group, signified by +@item After an open-group, signified by @samp{\(} @item After a newline @@ -454,56 +466,56 @@ The character @samp{$} only represents the end of a string when it appears: @end enumerate -Intervals are specified by @samp{\@{} and @samp{\@}}. Invalid intervals such as @samp{a\@{1z} are not accepted. +Intervals are specified by @samp{\@{} and @samp{\@}}. Invalid intervals such as @samp{a\@{1z} are not accepted. -The longest possible match is returned; this applies to the regular expression as a whole and (subject to this constraint) to subexpressions within groups. +The longest possible match is returned; this applies to the regular expression as a whole and (subject to this constraint) to subexpressions within groups. @node posix-awk regular expression syntax @subsection @samp{posix-awk} regular expression syntax -The character @samp{.} matches any single character except the null character. +The character @samp{.} matches any single character except the null character. @table @samp @item + -indicates that the regular expression should match one or more occurrences of the previous atom or regexp. +indicates that the regular expression should match one or more occurrences of the previous atom or regexp. @item ? -indicates that the regular expression should match zero or one occurrence of the previous atom or regexp. +indicates that the regular expression should match zero or one occurrence of the previous atom or regexp. @item \+ matches a @samp{+} @item \? -matches a @samp{?}. +matches a @samp{?}. @end table -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. +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. -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. +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. -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{(}. +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{(}. -The alternation operator is @samp{|}. +The alternation operator is @samp{|}. -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. +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. -@samp{*}, @samp{+} and @samp{?} are special at any point in a regular expression except the following places, where they are illegal: +@samp{*}, @samp{+} and @samp{?} are special at any point in a regular expression except the following places, where they are not allowed: @enumerate @item At the beginning of a regular expression -@item After an open-group, signified by +@item After an open-group, signified by @samp{(} @item After the alternation operator @samp{|} @end enumerate -Intervals are specified by @samp{@{} and @samp{@}}. Invalid intervals such as @samp{a@{1z} are not accepted. +Intervals are specified by @samp{@{} and @samp{@}}. Invalid intervals such as @samp{a@{1z} are not accepted. -The longest possible match is returned; this applies to the regular expression as a whole and (subject to this constraint) to subexpressions within groups. +The longest possible match is returned; this applies to the regular expression as a whole and (subject to this constraint) to subexpressions within groups. @node posix-basic regular expression syntax @@ -513,23 +525,23 @@ This is a synonym for ed. @subsection @samp{posix-egrep} regular expression syntax -The character @samp{.} matches any single character except newline. +The character @samp{.} matches any single character except newline. @table @samp @item + -indicates that the regular expression should match one or more occurrences of the previous atom or regexp. +indicates that the regular expression should match one or more occurrences of the previous atom or regexp. @item ? -indicates that the regular expression should match zero or one occurrence of the previous atom or regexp. +indicates that the regular expression should match zero or one occurrence of the previous atom or regexp. @item \+ matches a @samp{+} @item \? -matches a @samp{?}. +matches a @samp{?}. @end table -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. +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. GNU extensions are supported: @enumerate @@ -553,40 +565,40 @@ GNU extensions are supported: @end enumerate -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{(}. +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{(}. -The alternation operator is @samp{|}. +The alternation operator is @samp{|}. -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. +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. -The characters @samp{*}, @samp{+} and @samp{?} are special anywhere in a regular expression. +The characters @samp{*}, @samp{+} and @samp{?} are special anywhere in a regular expression. Intervals are specified by @samp{@{} and @samp{@}}. Invalid intervals are treated as literals, for example @samp{a@{1} is treated as @samp{a\@{1} -The longest possible match is returned; this applies to the regular expression as a whole and (subject to this constraint) to subexpressions within groups. +The longest possible match is returned; this applies to the regular expression as a whole and (subject to this constraint) to subexpressions within groups. @node posix-extended regular expression syntax @subsection @samp{posix-extended} regular expression syntax -The character @samp{.} matches any single character except the null character. +The character @samp{.} matches any single character except the null character. @table @samp @item + -indicates that the regular expression should match one or more occurrences of the previous atom or regexp. +indicates that the regular expression should match one or more occurrences of the previous atom or regexp. @item ? -indicates that the regular expression should match zero or one occurrence of the previous atom or regexp. +indicates that the regular expression should match zero or one occurrence of the previous atom or regexp. @item \+ matches a @samp{+} @item \? -matches a @samp{?}. +matches a @samp{?}. @end table -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. +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. GNU extensions are supported: @enumerate @@ -610,38 +622,38 @@ GNU extensions are supported: @end enumerate -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{(}. +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{(}. -The alternation operator is @samp{|}. +The alternation operator is @samp{|}. -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. +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. -@samp{*}, @samp{+} and @samp{?} are special at any point in a regular expression except the following places, where they are illegal: +@samp{*}, @samp{+} and @samp{?} are special at any point in a regular expression except the following places, where they are not allowed: @enumerate @item At the beginning of a regular expression -@item After an open-group, signified by +@item After an open-group, signified by @samp{(} @item After the alternation operator @samp{|} @end enumerate -Intervals are specified by @samp{@{} and @samp{@}}. Invalid intervals such as @samp{a@{1z} are not accepted. +Intervals are specified by @samp{@{} and @samp{@}}. Invalid intervals such as @samp{a@{1z} are not accepted. -The longest possible match is returned; this applies to the regular expression as a whole and (subject to this constraint) to subexpressions within groups. +The longest possible match is returned; this applies to the regular expression as a whole and (subject to this constraint) to subexpressions within groups. @node posix-minimal-basic regular expression syntax @subsection @samp{posix-minimal-basic} regular expression syntax -The character @samp{.} matches any single character except the null character. +The character @samp{.} matches any single character except the null character. -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. +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. GNU extensions are supported: @enumerate @@ -665,17 +677,17 @@ GNU extensions are supported: @end enumerate -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{\(}. +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{\(}. The character @samp{^} only represents the beginning of a string when it appears: @enumerate -@item +@item At the beginning of a regular expression -@item After an open-group, signified by +@item After an open-group, signified by @samp{\(} @end enumerate @@ -686,16 +698,16 @@ The character @samp{$} only represents the end of a string when it appears: @item At the end of a regular expression -@item Before an close-group, signified by +@item Before a close-group, signified by @samp{\)} @end enumerate -Intervals are specified by @samp{\@{} and @samp{\@}}. Invalid intervals such as @samp{a\@{1z} are not accepted. +Intervals are specified by @samp{\@{} and @samp{\@}}. Invalid intervals such as @samp{a\@{1z} are not accepted. -The longest possible match is returned; this applies to the regular expression as a whole and (subject to this constraint) to subexpressions within groups. +The longest possible match is returned; this applies to the regular expression as a whole and (subject to this constraint) to subexpressions within groups. @node sed regular expression syntax