Espressione regolare per filtrare i caratteri ASCII

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
duchamp
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 560
Iscrizione: venerdì 10 agosto 2007, 19:55

Espressione regolare per filtrare i caratteri ASCII

Messaggio 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...
Avatar utente
dj GCE
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 430
Iscrizione: mercoledì 17 settembre 2008, 13:08
Desktop: Lubuntu
Distribuzione: Ubuntu 16.04.6 LTS i686

Re: Espressione regolare per filtrare i caratteri ASCII

Messaggio da dj GCE »

Che linguaggio di programmazione usi?
Windows XP Home SP3 + Lubuntu 16.04 32 bit + Android 2.qualcosa (netbook)
Windows XP Professional SP3 (fisso, ad oggi guasto)
Avatar utente
Volans
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4915
Iscrizione: domenica 4 dicembre 2005, 11:25
Contatti:

Re: Espressione regolare per filtrare i caratteri ASCII

Messaggio 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 (\).
Volans
Prima di scrivere leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 2 ospiti