Introduction
Introduction Statistics Contact Development Disclaimer Help
regexp.7 - 9base - revived minimalist port of Plan 9 userland to Unix
git clone git://git.suckless.org/9base
Log
Files
Refs
README
LICENSE
---
regexp.7 (2184B)
---
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 A
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 A
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)
You are viewing proxied material from suckless.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.