PDA

View Full Version : Regular Expression in C


fedo
24-08-2003, 20:59
Ciao gente,

un quesito rapido rapido:

In un buffer di testo ho diverse informazioni, elencate con le rispettive etichette (esempio: Cibo = Pizza)

Voglio utilizzare la libreria regex.h del C per tirare fuori questi dati...come scrivo la regex per ricavare "ciao" ,ad esempio?

Non mi date la sintassi Posix perchè le RegExp le so scrivere...vorrei solo sapere come si usano i metodi della libreria GNU, ovvero il compile,il pattern...

Chi se ne intende? thx

fedo
24-08-2003, 21:21
ah dimenticavo: ma in C, per dichiarare una stringa di lunghezza variabile devo per forza usare * ?

O meglio.. invece di char str[] , devo usare char * str ?

scusate lo sfogo, ma questo C non mi piace proprio..

C++ || Java --> Forever
:D

mjordan
24-08-2003, 23:35
Dipende dal punto in cui le vuoi usare...
In fase di definizione della stringa, puoi usare il seguente codice:


char str[] = "Ciao a tutti"; /* array di dodici elementi. */


Altrimenti puoi dichiarare un puntatore a char:


char * str;


e, NON basandoti che un char sia un byte, utilizzare una combinazione di malloc() e sizeof():


str = (char *)malloc(12 * sizeof(char)); /* "Array" di 12 elementi. */


Ancora alternativamente, se usi un compilatore recente, il C99 ha adottato la seguente sintassi per array variabili:


void
foo(int param)
{
char str[param];
...
...
}


Salutis.

mjordan
24-08-2003, 23:37
Ciao gente,

un quesito rapido rapido:

In un buffer di testo ho diverse informazioni, elencate con le rispettive etichette (esempio: Cibo = Pizza)

Voglio utilizzare la libreria regex.h del C per tirare fuori questi dati...come scrivo la regex per ricavare "ciao" ,ad esempio?

Non mi date la sintassi Posix perchè le RegExp le so scrivere...vorrei solo sapere come si usano i metodi della libreria GNU, ovvero il compile,il pattern...

Chi se ne intende? thx


Quì c'è tutto ciò che fa al caso tuo:
http://www.gnu.org/manual/glibc-2.2.5/html_node/Regular-Expressions.html#Regular%20Expressions

Salutis Misteriorum Contemplatio.

fedo
25-08-2003, 00:37
1000 grazie...

molto prezioso..ciao ;)

mjordan
25-08-2003, 00:44
Originariamente inviato da fedo
1000 grazie...

molto prezioso..ciao ;)

Per forza...E' il manuale GNU :D