~ubuntu-branches/ubuntu/lucid/9base/lucid

« back to all changes in this revision

Viewing changes to lib9/regexp.7

  • Committer: Bazaar Package Importer
  • Author(s): Daniel Baumann
  • Date: 2006-01-25 15:33:00 UTC
  • Revision ID: james.westby@ubuntu.com-20060125153300-6hh4p9wx8iqqply5
Tags: upstream-2
ImportĀ upstreamĀ versionĀ 2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
.TH REGEXP 7
 
2
.SH NAME
 
3
regexp \- Plan 9 regular expression notation
 
4
.SH DESCRIPTION
 
5
This manual page describes the regular expression
 
6
syntax used by the Plan 9 regular expression library
 
7
.IR regexp (3).
 
8
It is the form used by
 
9
.IR egrep (1)
 
10
before
 
11
.I egrep
 
12
got complicated.
 
13
.PP
 
14
 
15
.I "regular expression"
 
16
specifies
 
17
a set of strings of characters.
 
18
A member of this set of strings is said to be
 
19
.I matched
 
20
by the regular expression.  In many applications
 
21
a delimiter character, commonly
 
22
.LR / ,
 
23
bounds a regular expression.
 
24
In the following specification for regular expressions
 
25
the word `character' means any character (rune) but newline.
 
26
.PP
 
27
The syntax for a regular expression
 
28
.B e0
 
29
is
 
30
.IP
 
31
.EX
 
32
e3:  literal | charclass | '.' | '^' | '$' | '(' e0 ')'
 
33
 
 
34
e2:  e3
 
35
  |  e2 REP
 
36
 
 
37
REP: '*' | '+' | '?'
 
38
 
 
39
e1:  e2
 
40
  |  e1 e2
 
41
 
 
42
e0:  e1
 
43
  |  e0 '|' e1
 
44
.EE
 
45
.PP
 
46
A
 
47
.B literal
 
48
is any non-metacharacter, or a metacharacter
 
49
(one of
 
50
.BR .*+?[]()|\e^$ ),
 
51
or the delimiter
 
52
preceded by 
 
53
.LR \e .
 
54
.PP
 
55
A
 
56
.B charclass
 
57
is a nonempty string
 
58
.I s
 
59
bracketed
 
60
.BI [ \|s\| ]
 
61
(or
 
62
.BI [^ s\| ]\fR);
 
63
it matches any character in (or not in)
 
64
.IR s .
 
65
A negated character class never
 
66
matches newline.
 
67
A substring 
 
68
.IB a - b\f1,
 
69
with
 
70
.I a
 
71
and
 
72
.I b
 
73
in ascending
 
74
order, stands for the inclusive
 
75
range of
 
76
characters between
 
77
.I a
 
78
and
 
79
.IR b .
 
80
In 
 
81
.IR s ,
 
82
the metacharacters
 
83
.LR - ,
 
84
.LR ] ,
 
85
an initial
 
86
.LR ^ ,
 
87
and the regular expression delimiter
 
88
must be preceded by a
 
89
.LR \e ;
 
90
other metacharacters 
 
91
have no special meaning and
 
92
may appear unescaped.
 
93
.PP
 
94
 
95
.L .
 
96
matches any character.
 
97
.PP
 
98
A
 
99
.L ^
 
100
matches the beginning of a line;
 
101
.L $
 
102
matches the end of the line.
 
103
.PP
 
104
The 
 
105
.B REP
 
106
operators match zero or more
 
107
.RB ( * ),
 
108
one or more
 
109
.RB ( + ),
 
110
zero or one
 
111
.RB ( ? ),
 
112
instances respectively of the preceding regular expression 
 
113
.BR e2 .
 
114
.PP
 
115
A concatenated regular expression,
 
116
.BR "e1\|e2" ,
 
117
matches a match to 
 
118
.B e1
 
119
followed by a match to
 
120
.BR e2 .
 
121
.PP
 
122
An alternative regular expression,
 
123
.BR "e0\||\|e1" ,
 
124
matches either a match to
 
125
.B e0
 
126
or a match to
 
127
.BR e1 .
 
128
.PP
 
129
A match to any part of a regular expression
 
130
extends as far as possible without preventing
 
131
a match to the remainder of the regular expression.
 
132
.SH "SEE ALSO"
 
133
.IR regexp (3)