.PP
\*E' regexp package treats the following one- or two-character
strings (called meta-characters) in special ways:
-.IP "\\\\\\\\(\fIsubexpression\fP\\\\\\\\)" 0.8i
-The \\( and \\) metacharacters are used to delimit subexpressions.
+.IP "\e(\fIsubexpression\fP\e)" 0.8i
+The \e( and \e) metacharacters are used to delimit subexpressions.
When the regular expression matches a particular chunk of text,
\*E will remember which portion of that chunk matched the \fIsubexpression\fP.
The :s/regexp/newtext/ command makes use of this feature.
elsewhere, it is treated as a normal character.
For example, the regular expression /$$/ will search for a dollar sign at
the end of a line.
-.IP "\\\\\\\\<" 0.8i
-The \\< metacharacter matches a zero-length string at the beginning of
+.IP "\e<" 0.8i
+The \e< metacharacter matches a zero-length string at the beginning of
a word.
A word is considered to be a string of 1 or more letters and digits.
A word can begin at the beginning of a line
or after 1 or more non-alphanumeric characters.
-.IP "\\\\\\\\>" 0.8i
-The \\> metacharacter matches a zero-length string at the end of a word.
+.IP "\e>" 0.8i
+The \e> metacharacter matches a zero-length string at the end of a word.
A word can end at the end of the line
or before 1 or more non-alphanumeric characters.
-For example, /\\<end\\>/ would find any instance of the word "end",
+For example, /\e<end\e>/ would find any instance of the word "end",
but would ignore any instances of e-n-d inside another word
such as "calendar".
.IP "\&." 0.8i
in the list.
For example, /[a-zA-Z]/ matches any letter, and /[^ ]/ matches anything
other than a blank.
-.IP "\\\\\\\\{\fIn\fP\\\\\\\\}" 0.8i
+.IP "\e{\fIn\fP\e}" 0.8i
This is a closure operator,
which means that it can only be placed after something that matches a
single character.
It controls the number of times that the single-character expression
should be repeated.
.IP "" 0.8i
-The \\{\fIn\fP\\} operator, in particular, means that the preceding
+The \e{\fIn\fP\e} operator, in particular, means that the preceding
expression should be repeated exactly \fIn\fP times.
-For example, /^-\\{80\\}$/ matches a line of eighty hyphens, and
-/\\<[a-zA-Z]\\{4\\}\\>/ matches any four-letter word.
-.IP "\\\\\\\\{\fIn\fP,\fIm\fP\\\\\\\\}" 0.8i
+For example, /^-\e{80\e}$/ matches a line of eighty hyphens, and
+/\e<[a-zA-Z]\e{4\e}\e>/ matches any four-letter word.
+.IP "\e{\fIn\fP,\fIm\fP\e}" 0.8i
This is a closure operator which means that the preceding single-character
expression should be repeated between \fIn\fP and \fIm\fP times, inclusive.
If the \fIm\fP is omitted (but the comma is present) then \fIm\fP is
taken to be inifinity.
-For example, /"[^"]\\{3,5\\}"/ matches any pair of quotes which contains
+For example, /"[^"]\e{3,5\e}"/ matches any pair of quotes which contains
three, four, or five non-quote characters.
.IP "*" 0.8i
The * metacharacter is a closure operator which means that the preceding
single-character expression can be repeated zero or more times.
-It is equivelent to \\{0,\\}.
+It is equivelent to \e{0,\e}.
For example, /.*/ matches a whole line.
-.IP "\\\\\\\\+" 0.8i
-The \\+ metacharacter is a closure operator which means that the preceding
+.IP "\e+" 0.8i
+The \e+ metacharacter is a closure operator which means that the preceding
single-character expression can be repeated one or more times.
-It is equivelent to \\{1,\\}.
-For example, /.\\+/ matches a whole line, but only if the line contains
+It is equivelent to \e{1,\e}.
+For example, /.\e+/ matches a whole line, but only if the line contains
at least one character.
It doesn't match empty lines.
-.IP "\\\\\\\\?" 0.8i
-The \\? metacharacter is a closure operator which indicates that the
+.IP "\e?" 0.8i
+The \e? metacharacter is a closure operator which indicates that the
preceding single-character expression is optional -- that is, that it
can occur 0 or 1 times.
-It is equivelent to \\{0,1\\}.
-For example, /no[ -]\\?one/ matches "no one", "no-one", or "noone".
+It is equivelent to \e{0,1\e}.
+For example, /no[ -]\e?one/ matches "no one", "no-one", or "noone".
.PP
Anything else is treated as a normal character which must exactly match
a character from the scanned text.
.ta 0.75i 1.3i
& Insert a copy of the original text
~ Insert a copy of the previous replacement text
- \\1 Insert a copy of that portion of the original text which
- matched the first set of \\( \\) parentheses
- \\2-\\9 Do the same for the second (etc.) pair of \\( \\)
- \\U Convert all chars of any later & or \\# to uppercase
- \\L Convert all chars of any later & or \\# to lowercase
- \\E End the effect of \\U or \\L
- \\u Convert the first char of the next & or \\# to uppercase
- \\l Convert the first char of the next & or \\# to lowercase
+ \e1 Insert a copy of that portion of the original text which
+ matched the first set of \e( \e) parentheses
+ \e2-\e9 Do the same for the second (etc.) pair of \e( \e)
+ \eU Convert all chars of any later & or \e# to uppercase
+ \eL Convert all chars of any later & or \e# to lowercase
+ \eE End the effect of \eU or \eL
+ \eu Convert the first char of the next & or \e# to uppercase
+ \el Convert the first char of the next & or \e# to lowercase
.TA
.DE
.PP
These may be preceded by a backslash to force them to be treated normally.
If "nomagic" mode is in effect,
then & and ~ will be treated normally,
-and you must write them as \\& and \\~ for them to have special meaning.
+and you must write them as \e& and \e~ for them to have special meaning.
.SH
Options
.PP
(The brackets contain a single space and a single tab.):
.sp
.ti +1i
-:%s/[ ]\\+$//
+:%s/[ ]\e+$//
.PP
This example converts the current line to uppercase:
.sp
.ti +1i
-:s/.*/\\U&/
+:s/.*/\eU&/
.PP
This example underlines each letter in the current line,
by changing it into an "underscore backspace letter" sequence.
.PP
This example locates the last colon in a line,
and swaps the text before the colon with the text after the colon.
-The first \\( \\) pair is used to delimit the stuff before the colon,
+The first \e( \e) pair is used to delimit the stuff before the colon,
and the second pair delimit the stuff after.
-In the substitution text, \\1 and \\2 are given in reverse order
+In the substitution text, \e1 and \e2 are given in reverse order
to perform the swap:
.sp
.ti +1i
-:s/\\(.*\\):\\(.*\\)/\\2:\\1/
+:s/\e(.*\e):\e(.*\e)/\e2:\e1/