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:
 .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.
 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.
 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.
 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.
 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
 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.
 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
 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.
 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.
 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.
 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.
 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.
 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.
 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.
 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.
 .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
 .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,
 .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
 .SH
 Options
 .PP
@@ -156,12 +156,12 @@ in the file.
 (The brackets contain a single space and a single tab.):
 .sp
 .ti +1i
 (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
 .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 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.
 .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.
 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
 to perform the swap:
 .sp
 .ti +1i
-:s/\\(.*\\):\\(.*\\)/\\2:\\1/
+:s/\e(.*\e):\e(.*\e)/\e2:\e1/