This commit was manufactured by cvs2svn to create tag 'FreeBSD-release/1.0'.
[unix-history] / usr.bin / elvis / doc / regexp.ms
index 6b6677e..3bf77a1 100644 (file)
@@ -10,8 +10,8 @@ Syntax
 .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.
@@ -28,17 +28,17 @@ It is only a metacharacter when it occurs at the end of a regular expression;
 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
@@ -53,42 +53,42 @@ list is inverted -- it will match character that \fIisn't\fP mentioned
 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.
@@ -110,21 +110,21 @@ text literally but a few have special meaning:
 .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
@@ -156,12 +156,12 @@ in the file.
 (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.
@@ -172,10 +172,10 @@ 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/