PDA

Visualizza la versione completa : [RegExp] puntatore non definito


giuseppe500
05-12-2008, 11:30
ciao.
Devo trovare una regexp(espressione regolare)che trovi tutte le occorrenze di una stringa , un puntatore(in c++) che non inizia con p:

CString *pstr //ok non trovare
CString * pstr //ok non trovare
CString* pstr //ok non trovare

CString *ostr //ok trovare
CString * iiistr //ok trovare
CString* opopstr //ok trovare

grazie.

Stoicenko
05-12-2008, 11:36
ok, ma che senso ha il tuo esempio??

giuseppe500
05-12-2008, 12:04
già , scusate ,voglio trovare in un file .cpp tutti i puntatori non dichiarati con la p davanti al nome.
per specifiche d'implementazione

menphisx
05-12-2008, 15:11
In BASH puoi fare così:



cat filename.cpp | grep -E "\*([A-Za-z0-9\_\-]+)\;"

Vincenzo1968
05-12-2008, 16:42
Ciao Giuseppe,

la cosa si può agevolmente risolvere con un bell'automa a stati finiti. Se vuoi ti posso postare un esempio.

:ciauz:

menphisx
05-12-2008, 16:50
Originariamente inviato da Vincenzo1968
Ciao Giuseppe,

la cosa si può agevolmente risolvere con un bell'automa a stati finiti. Se vuoi ti posso postare un esempio.

:ciauz:

:malol:

Vincenzo1968
05-12-2008, 17:02
menphisx,

come diceva Totò: perché non ti fai un'altra bella risata su questo paio di baffi? :)

Con le regexp risolvi il problema con poche righe di codice, ma non sono il massimo dell'efficienza:

http://swtch.com/~rsc/regexp/regexp1.html

:)

giuseppe500
05-12-2008, 17:07
no , vorrei usare le espressioni regolari per utilizzarle dentro vs.
Il problema è che la regexp non funziona se ci sono degli spazi tra i caratteri a es :

CString * dummy//sbagliato , trovare
CString * pdummy//giusto , non trovare

mentre queste funzionano:
CString *dummy
CString *pdummy

come si a a dire in una regexp di ignorare una sequenza di spazi?
Senza utilizzare l'opzione ignorepatternwhitespaces?

menphisx
05-12-2008, 17:16
Originariamente inviato da Vincenzo1968
menphisx,

come diceva Totò: perché non ti fai un'altra bella risata su questo paio di baffi? :)

Con le regexp risolvi il problema con poche righe di codice, ma non sono il massimo dell'efficienza:

http://swtch.com/~rsc/regexp/regexp1.html

:)

Sono sicuro, che l'automa è buona cosa, ma ce lo ficchi dappertutto :D

Vincenzo1968
05-12-2008, 17:18
Originariamente inviato da menphisx
Sono sicuro, che l'automa è buona cosa, ma ce lo ficchi dappertutto :D

Io utilizzo un automa per qualsiasi cosa: me ne sono costruito uno che, la mattina, mi porta la colazione a letto :smack:

Loading