1 058b0118 2005-01-03 devnull .TH REGEXP 7
3 058b0118 2005-01-03 devnull regexp \- Plan 9 regular expression notation
4 cfa37a7b 2004-04-10 devnull .SH DESCRIPTION
5 cfa37a7b 2004-04-10 devnull This manual page describes the regular expression
6 cfa37a7b 2004-04-10 devnull syntax used by the Plan 9 regular expression library
7 058b0118 2005-01-03 devnull .IR regexp (3).
8 cfa37a7b 2004-04-10 devnull It is the form used by
9 cfa37a7b 2004-04-10 devnull .IR egrep (1)
12 cfa37a7b 2004-04-10 devnull got complicated.
15 cfa37a7b 2004-04-10 devnull .I "regular expression"
16 cfa37a7b 2004-04-10 devnull specifies
17 cfa37a7b 2004-04-10 devnull a set of strings of characters.
18 cfa37a7b 2004-04-10 devnull A member of this set of strings is said to be
19 cfa37a7b 2004-04-10 devnull .I matched
20 cfa37a7b 2004-04-10 devnull by the regular expression. In many applications
21 cfa37a7b 2004-04-10 devnull a delimiter character, commonly
23 cfa37a7b 2004-04-10 devnull bounds a regular expression.
24 cfa37a7b 2004-04-10 devnull In the following specification for regular expressions
25 cfa37a7b 2004-04-10 devnull the word `character' means any character (rune) but newline.
27 cfa37a7b 2004-04-10 devnull The syntax for a regular expression
32 cfa37a7b 2004-04-10 devnull e3: literal | charclass | '.' | '^' | '$' | '(' e0 ')'
37 cfa37a7b 2004-04-10 devnull REP: '*' | '+' | '?'
43 cfa37a7b 2004-04-10 devnull | e0 '|' e1
47 cfa37a7b 2004-04-10 devnull .B literal
48 cfa37a7b 2004-04-10 devnull is any non-metacharacter, or a metacharacter
50 cfa37a7b 2004-04-10 devnull .BR .*+?[]()|\e^$ ),
51 cfa37a7b 2004-04-10 devnull or the delimiter
52 cfa37a7b 2004-04-10 devnull preceded by
56 cfa37a7b 2004-04-10 devnull .B charclass
57 cfa37a7b 2004-04-10 devnull is a nonempty string
59 cfa37a7b 2004-04-10 devnull bracketed
60 cfa37a7b 2004-04-10 devnull .BI [ \|s\| ]
62 cfa37a7b 2004-04-10 devnull .BI [^ s\| ]\fR);
63 cfa37a7b 2004-04-10 devnull it matches any character in (or not in)
65 cfa37a7b 2004-04-10 devnull A negated character class never
66 cfa37a7b 2004-04-10 devnull matches newline.
67 cfa37a7b 2004-04-10 devnull A substring
68 cfa37a7b 2004-04-10 devnull .IB a - b\f1,
73 cfa37a7b 2004-04-10 devnull in ascending
74 cfa37a7b 2004-04-10 devnull order, stands for the inclusive
76 cfa37a7b 2004-04-10 devnull characters between
82 cfa37a7b 2004-04-10 devnull the metacharacters
85 cfa37a7b 2004-04-10 devnull an initial
87 cfa37a7b 2004-04-10 devnull and the regular expression delimiter
88 cfa37a7b 2004-04-10 devnull must be preceded by a
90 cfa37a7b 2004-04-10 devnull other metacharacters
91 cfa37a7b 2004-04-10 devnull have no special meaning and
92 cfa37a7b 2004-04-10 devnull may appear unescaped.
96 cfa37a7b 2004-04-10 devnull matches any character.
100 cfa37a7b 2004-04-10 devnull matches the beginning of a line;
102 cfa37a7b 2004-04-10 devnull matches the end of the line.
106 cfa37a7b 2004-04-10 devnull operators match zero or more
107 cfa37a7b 2004-04-10 devnull .RB ( * ),
108 cfa37a7b 2004-04-10 devnull one or more
109 cfa37a7b 2004-04-10 devnull .RB ( + ),
110 cfa37a7b 2004-04-10 devnull zero or one
111 cfa37a7b 2004-04-10 devnull .RB ( ? ),
112 cfa37a7b 2004-04-10 devnull instances respectively of the preceding regular expression
113 cfa37a7b 2004-04-10 devnull .BR e2 .
115 cfa37a7b 2004-04-10 devnull A concatenated regular expression,
116 cfa37a7b 2004-04-10 devnull .BR "e1\|e2" ,
117 cfa37a7b 2004-04-10 devnull matches a match to
119 cfa37a7b 2004-04-10 devnull followed by a match to
120 cfa37a7b 2004-04-10 devnull .BR e2 .
122 cfa37a7b 2004-04-10 devnull An alternative regular expression,
123 cfa37a7b 2004-04-10 devnull .BR "e0\||\|e1" ,
124 cfa37a7b 2004-04-10 devnull matches either a match to
126 cfa37a7b 2004-04-10 devnull or a match to
127 cfa37a7b 2004-04-10 devnull .BR e1 .
129 cfa37a7b 2004-04-10 devnull A match to any part of a regular expression
130 cfa37a7b 2004-04-10 devnull extends as far as possible without preventing
131 cfa37a7b 2004-04-10 devnull a match to the remainder of the regular expression.
132 cfa37a7b 2004-04-10 devnull .SH "SEE ALSO"
133 058b0118 2005-01-03 devnull .IR regexp (3)