File: regex.3

package info (click to toggle)
manpages-pt 20040726-8
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 2,988 kB
  • sloc: sh: 45; makefile: 16
file content (298 lines) | stat: -rw-r--r-- 8,105 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
.\" Copyright (C), 1995, Graeme W. Wilford. (Wilf.)
.\"
.\" Permission is granted to make and distribute verbatim copies of this
.\" manual provided the copyright notice and this permission notice are
.\" preserved on all copies.
.\"
.\" Permission is granted to copy and distribute modified versions of this
.\" manual under the conditions for verbatim copying, provided that the
.\" entire resulting derived work is distributed under the terms of a
.\" permission notice identical to this one
.\" 
.\" Since the Linux kernel and libraries are constantly changing, this
.\" manual page may be incorrect or out-of-date.  The author(s) assume no
.\" responsibility for errors or omissions, or for damages resulting from
.\" the use of the information contained herein.  The author(s) may not
.\" have taken the same level of care in the production of this manual,
.\" which is licensed free of charge, as they might when working
.\" professionally.
.\" 
.\" Formatted or processed versions of this manual, if unaccompanied by
.\" the source, must acknowledge the copyright and authors of this work.
.\"
.\" Wed Jun 14 16:10:28 BST 1995 Wilf. (G.Wilford@ee.surrey.ac.uk)
.\" Tiny change in formatting - aeb, 950812
.\" Modified 8 May 1998 by Joseph S. Myers (jsm28@cam.ac.uk)
.\"
.\" show the synopsis section nicely
.de xx
.in \\n(INu+\\$1
.ti -\\$1
..
.TH REGCOMP 3 "8 de maio de 1998" GNU "Manual do Programador Linux"
.SH NOME
regcomp, regexec, regerror, regfree \- funes do regex POSIX
.SH SINOPSE
.B #include <regex.h>
.sp
.xx \w'\fBint\ regcomp(\fR'u
.BI "int\ regcomp(regex_t *" preg ", const char *" regex , 
.BI "int " cflags );
.xx \w'\fBint\ regexec(\fR'u
.BI "int\ regexec(const regex_t *" preg ", const char *" string ,
.BI "size_t " nmatch ", regmatch_t " pmatch[] , 
.BI "int " eflags );
.xx \w'\fBsize_t\ regerror(\fR'u
.BI "size_t\ regerror(int " errcode , 
.BI "const regex_t *" preg ", char *" errbuf , 
.BI "size_t " errbuf_size );
.xx \w'\fBvoid\ regfree(\fR'
.BI "void\ regfree(regex_t *" preg );
.SH "COMPILAO DO REGEX POSIX"
.B regcomp 
 usado para compilar uma expresso regular para um formato que  apropriado para
buscas subsequentes de 
.B regexec.

.B regcomp
 fornecido com
.IR preg , 
um ponteiro para uma rea padro de armazenamento de buffer; 
.IR regex ,
um ponteiro para a string terminada em nulo e
.IR cflags ,
flags usadas para determinar o tipo de compilao.

Todas as buscas de expresso regular precisam ser feitas atravs de um buffer-modelo
compilado, portanto
.B regexec
sempre precisa ser fornecido com o endereo de um buffer padro de
.B regcomp
inicializado.

.I cflags 
pode ser um  
.RB 'OU' bit-a-bit
de um ou mais dos seguintes itens:
.TP 
.B REG_EXTENDED
Usa 
.B POSIX
Sintaxe de Expresses Regular Estendidas quando interpreta
.IR regex .
Se no for setado,
.B POSIX
A sintaxe de Expresses Regulares Bsicas  usada.
.TP 
.B REG_ICASE
No diferencia maisculas de minsculas. Buscas sequenciais de
.B regexec
usando este buffer padro sero insensveis  caixa.
.TP 
.B REG_NOSUB
O suporte para endereamento de substrings de resultados no  requerido.
Os parmetros
.I nmatch
e
.I pmatch
para
.B regexec
so ignorados se o buffer padro fornecido foi compilado com esta flag setada.
.TP 
.B REG_NEWLINE
Operadores de "casamento com qualquer caractere" no casam com um caractere de nova linha.

Uma lista de no-casamento
.RB ( [^...] )
que no contm um caractere de nova linha no encontra um caractere de nova linha.
    
Operador de "casamento com incio de linha"
.RB ( ^ )
casa com a string vazia imediatamente depois de um caractere de nova linha, independente se
.IR eflags ,
as flags de execuo de
.BR regexec ,
contm 
.BR REG_NOTBOL .

Operadores de "casamento com fim de linha"
.RB ( $ )
casa com a string vazia imediatamente antes de um caractere de nova linha, independente se
.IR eflags 
contm
.BR REG_NOTEOL .
.SH "CASAMENTO DO REGEX POSIX"
.B regexec
 usado para encontrar uma string terminada em nulo no buffer padro pr-compilado, 
.IR preg .
.I nmatch
e
.I pmatch
so usados para dar informaes a respeito da posio de qualquer casamento.  
.I eflags
pode ser um
.RB 'OU' bit-a-bit
de um ou ambos
.B REG_NOTBOL
e
.B REG_NOTEOL 
que causam mudanas no comportamento de casamento descrito abaixo.
.TP
.B REG_NOTBOL
O operador de "casamento com incio de linha" sempre falha em encontrar (mas veja a flag
de compilao
.B REG_NEWLINE 
acima).
Esta flag pode ser usada quando pores diferentes de uma string so passadas para
.B regexec
e o incio da string no pode ser interpretada como o comeo da linha.
.TP
.B REG_NOTEOL
O operador de "casamento com o fim da linha" sempre falha em encontrar (mas veja a flag
de compilao
.B REG_NEWLINE
acima).
.SS "COMPENSAES DE BYTE"
A menos que 
.B REG_NOSUB
tenha sido setado para a compilao do buffer-modelo,  possvel obter informaes sobre
endereamento de casamento de substrings. 
.I pmatch
precisa ser dimensionado para ter pelo menos
.I nmatch
elementos.
Estes so preenchidos por
.BR regexec 
com endereos de casamento de substrings. Quaisquer elementos de estrutura no-usados
contero o valor -1.

A estrutura
.B regmatch_t 
que  o tipo de
.I pmatch
 definida em
.IR regex.h .

.RS
.B typedef struct
.br
.B {
.br
.BI "  regoff_t " rm_so ;
.br
.BI "  regoff_t " rm_eo ;
.br
.B }
.B regmatch_t;
.RE

Cada elemento 
.I rm_so
que no  -1 indica a compensao inicial do prximo maior casamento de substring dentro
da string.  O elemento
.I rm_eo 
relativo indica a compensao final do casamento.
.SH "REPORTAGEM DE ERROS POSIX"
.B regerror
 usado para transformar os cdigos de erro que podem ser retornados por
.B regcomp
e
.B regexec
para strings de mensagens de erro.

.B regerror
recebe o cdigo de erro,
.IR errcode ,
o buffer modelo,
.IR preg ,
um ponteiro para um buffer de string de caracteres,
.IR errbuf ,
e o tamanho do buffer de string,
.IR errbuf_size .
Retorna o tamanho de
.I errbuf
requerido para conter uma string de mensagem de erro terminada em nulo. Se
.I errbuf
e
.I errbuf_size
no so zero, 
.I errbuf
 preenchido com os primeiros
.I "errbuf_size - 1"
caracteres da mensagem de erro e um nulo de terminao.
.SH "LIBERAO DO BUFFER MODELO POSIX"
Fornecendo
.B regfree
com um buffer modelo pr-compilado,
.I preg
liberar a memria alocada para o buffer modelo pelo processo de compilao, 
.BR regcomp .
.SH "VALOR DE RETORNO"
.B regcomp
retorna zero para uma compilao bem-sucedida ou um cdigo de erro em caso de falha.

.B regexec
retorna zero para um casamento bem-sucedido ou
.B REG_NOMATCH
para falha.
.SH ERROS
Os seguintes erros podem ser retornados por
.BR regcomp :
.TP
.B REG_BADRPT
Uso invlido de operadores de repetio, como o uso de
.RB ` * '
como o primeiro caractere.
.TP
.B REG_BADBR
Uso invlido de operador de referncia retroativa.
.TP
.B REG_EBRACE
Operadores de intervalo com colchetes descasados.
.TP
.B REG_EBRACK
Operadores de lista com colchetes descasados.
.TP
.B REG_ERANGE
Uso invlido do operador de faixa, por exemplo, o ponto final da faixa ocorre antes do 
ponto inicial.
.TP
.B REG_ECTYPE
Nome de classe de caractere desconhecido.
.TP
.B REG_ECOLLATE
Elemento de ordenao invlido.
.TP
.B REG_EPAREN
Operadores de grupo com parnteses descasados.
.TP
.B REG_ESUBREG
Referncia retroativa invlida a uma subexpresso.
.TP
.B REG_EEND
Erro no especfico. Este no  definido pelo POSIX.2.
.TP
.B REG_EESCAPE
Barra invertida perdida.
.TP
.B REG_BADPAT
Uso invlido de operadores de modelo, tais como grupo ou lista.
.TP
.B REG_ESIZE
Expresso regular compilada requer um buffer modelo maior de 64Kb.
Isto no  definido pelo POSIX.2.
.TP
.B REG_ESPACE
As rotinas regex rodaram fora de memria.
.SH "CONFORME"
POSIX.2
.SH BUGS
Correntemente (viso instantnea 980503 da libc GNU), a libc GNU no suporta
elementos de ordenao em expresses regulares.
.SH "VEJA TAMBM"
.BR regex (7),
.B "manual do regex GNU"
.SH TRADUZIDO PELO LDP-BR EM 09/08/2000
\&\fR\&\f(CWRUBENS DE JESUS NOGUEIRA <darkseid99@usa.net> (traduo)\fR
\&\fR\&\f(CWXXXXXX XX XXXXX XXXXXXXX <xxxxxxxxxx@xxx.xxx> (reviso)\fR