-.Pp
-.Bl -tag -width 10n -compact
-.It Li x
-Match the character 'x'.
-.It Li \&.
-Any character except newline.
-.It Op Li xyz
-A "character class"; in this case, the pattern
-matches either an 'x', a 'y', or a 'z'.
-.It Op Li abj-oZ
-A "character class" with a range in it; matches
-an 'a', a 'b', any letter from 'j' through 'o',
-or a 'Z'.
-.It Op Li ^A-Z
-A "negated character class", i.e., any character
-but those in the class. In this case, any
-character
-.Em except
-an uppercase letter.
-.It Op Li ^A-Z\en
-Any character
-.Em except
-an uppercase letter or
-a newline.
-.It Li r*
-Zero or more r's, where r is any regular expression.
-.It Li r+
-One or more r's.
-.It Li r?
-Zero or one r's (that is, "an optional r").
-.It Li r{2,5}
-Anywhere from two to five r's.
-.It Li r{2,}
-Two or more r's.
-.It Li r{4}
-Exactly 4 r's.
-.It Li {name}
-The expansion of the "name" definition
-(see above).
-.It Xo
-.Oo Li xyz Oc Ns Li "\e\&\*qfoo"
-.Xc
-The literal string:
-[xyz]\*qfoo.
-.It Li \&\eX
-If X is an 'a', 'b', 'f', 'n', 'r', 't', or 'v',
-then the
-.Tn ANSI-C
-interpretation of \ex.
-Otherwise, a literal 'X' (used to escape
-operators such as '*').
-.It Li \&\e123
-The character with octal value 123.
-.It Li \&\ex2a
-The character with hexadecimal value 2a.
-.It Li (r)
-Match an r; parentheses are used to override
-precedence (see below).
-.It Li rs
-The regular expression r followed by the
-regular expression s; called "concatenation".
-.It Li rs
-Either an r or an s.
-.It Li r/s
-An r but only if it is followed by an s. The
-s is not part of the matched text. This type
-of pattern is called as "trailing context".
-.It Li \&^r
-An r, but only at the beginning of a line.
-.It Li r$
-An r, but only at the end of a line. Equivalent
-to "r/\en".
-.It Li <s>r
-An r, but only in start condition s (see
-below for discussion of start conditions).
-.It Li <s1,s2,s3>r
-Same, but in any of start conditions s1,
-s2, or s3.
-.It Li <<EOF>>
-An end-of-file.
-.It Li <s1,s2><<EOF>>
-An end-of-file when in start condition s1 or s2.
-.El
+.nf
+
+ x match the character 'x'
+ . any character except newline
+ [xyz] a "character class"; in this case, the pattern
+ matches either an 'x', a 'y', or a 'z'
+ [abj-oZ] a "character class" with a range in it; matches
+ an 'a', a 'b', any letter from 'j' through 'o',
+ or a 'Z'
+ [^A-Z] a "negated character class", i.e., any character
+ but those in the class. In this case, any
+ character EXCEPT an uppercase letter.
+ [^A-Z\\n] any character EXCEPT an uppercase letter or
+ a newline
+ r* zero or more r's, where r is any regular expression
+ r+ one or more r's
+ r? zero or one r's (that is, "an optional r")
+ r{2,5} anywhere from two to five r's
+ r{2,} two or more r's
+ r{4} exactly 4 r's
+ {name} the expansion of the "name" definition
+ (see above)
+ "[xyz]\\"foo"
+ the literal string: [xyz]"foo
+ \\X if X is an 'a', 'b', 'f', 'n', 'r', 't', or 'v',
+ then the ANSI-C interpretation of \\x.
+ Otherwise, a literal 'X' (used to escape
+ operators such as '*')
+ \\123 the character with octal value 123
+ \\x2a the character with hexadecimal value 2a
+ (r) match an r; parentheses are used to override
+ precedence (see below)
+
+
+ rs the regular expression r followed by the
+ regular expression s; called "concatenation"
+
+
+ r|s either an r or an s
+
+
+ r/s an r but only if it is followed by an s. The
+ s is not part of the matched text. This type
+ of pattern is called as "trailing context".
+ ^r an r, but only at the beginning of a line
+ r$ an r, but only at the end of a line. Equivalent
+ to "r/\\n".
+
+
+ <s>r an r, but only in start condition s (see
+ below for discussion of start conditions)
+ <s1,s2,s3>r
+ same, but in any of start conditions s1,
+ s2, or s3
+
+
+ <<EOF>> an end-of-file
+ <s1,s2><<EOF>>
+ an end-of-file when in start condition s1 or s2
+
+.fi