Pagina 1 di 1

Espressione regolare per filtrare i caratteri ASCII

Inviato: venerdì 20 giugno 2008, 10:01
da duchamp
Ciao a tutti i cultori delle espressioni regolari e non, vorrei chiedervi un parere su questa stringa che ho elaborato per "filtrare" tutto ciò che è concesso dalla tabella ASCII:

Codice: Seleziona tutto

[^0-9a-zA-Z!\"#\$%&'\(\)\*\+'-\./:;<=>\?\{\}\[\]\|\\_\^]
L'ho negata all'inizio perchè poi dovrò eliminare tutto quello che è all'infuori di questa selezione.
Chiedo il parere perchè non funziona come dovrebbe  :P ovvero mi concede di inserire caratteri che vanno oltre il set ASCII...

Re: Espressione regolare per filtrare i caratteri ASCII

Inviato: domenica 5 ottobre 2008, 16:19
da dj GCE
Che linguaggio di programmazione usi?

Re: Espressione regolare per filtrare i caratteri ASCII

Inviato: lunedì 6 ottobre 2008, 0:09
da Volans
In linguaggi che supportano i caratteri UTF-8 e quindi il multibyte e hanno una funzione per la lunghezza dei caratteri e una per la lunghezza in byte della stringa puoi anche fare un controllo più semplice vedendo se differiscono (ad esempio in MySQL CHAR_LENGTH('stringa') e LENGTH('stringa')) oppure se c'è una funzione che ti dice a che caratteri ascii corrisponde un dato carattere controlli quello (ad esempio in PHP ord('carattere')).

Come giustamente detto da dj GCE la sintassi delle REGEXP differisce leggermente dal linguaggio di programmazione che usi, soprattutto con i caratteri che necessitano l'escape (\).