LifeGuido IT › Forums › Tips › Come faccio a ignorare un caso in regex?
Se vuoi che solo una parte dell’espressione regolare non faccia distinzione tra maiuscole e minuscole (come presumeva la mia risposta originale), hai due opzioni:
Per impostazione predefinita, tutti i principali motori regex corrispondono alla modalità con distinzione tra maiuscole e minuscole. Se vuoi modelli come Nome: [a-z]+ per abbinare in modo senza distinzione tra maiuscole e minuscole, dobbiamo attivare quella funzione.
Ignori il caso quando tratti i dati, non quando li recuperi/archivi. Se vuoi memorizzare tutto in minuscolo usa String#toLowerCase, in maiuscolo usa String#toUpperCase. Quindi, quando devi trattarlo effettivamente, puoi usare metodi fuori dall’arco, come String#equalsIgnoreCase(java.
Un modificatore di modalità all’inizio dell’espressione regolare influisce sull’intera espressione regolare e sovrascrive tutte le opzioni impostate al di fuori dell’espressione regolare. (? i)a corrisponde a a e A. Un modificatore di modalità nel mezzo dell’espressione regolare influisce sull’intera espressione regolare e sovrascrive tutte le opzioni impostate al di fuori dell’espressione regolare.
* : viene utilizzato un asterisco per abbinare il carattere precedente zero o più volte. Quindi la regex. * corrisponderebbe a qualsiasi stringa purché non contenga un carattere di nuova riga.
corrispondenza di larghezza zero
d (cifra) corrisponde a qualsiasi singola cifra (come [0-9] ). La controparte maiuscola D (non cifra) corrisponde a qualsiasi singolo carattere che non sia una cifra (come [^0-9] ). s (spazio) corrisponde a qualsiasi singolo spazio bianco (come [ tnrf] vuoto, tabulazione, nuova riga, ritorno a capo e avanzamento modulo).
La proprietà Validation (Regex) consente di definire un insieme di opzioni di convalida per un determinato campo. In generale, questa proprietà del campo viene utilizzata per eseguire controlli di convalida (formato, lunghezza, ecc.) sul valore che l’utente inserisce in un campo.
Per il tuo esempio hai bisogno della seguente regex: “< br >|< hi >|< a >”. Se hai bisogno di altri token da inserire nella lista nera, usa semplicemente “|< ?? >” sequenza. Segno | in regex significa abbinare i gruppi con criteri OR, quindi esempio significa effettivamente corrispondere a < br > o < hi > o < a >.
Le espressioni regolari vengono utilizzate nei motori di ricerca, nelle finestre di dialogo di ricerca e sostituzione di elaboratori di testi ed editor di testo, nelle utilità di elaborazione del testo come sed e AWK e nell’analisi lessicale. Molti linguaggi di programmazione forniscono funzionalità regex integrate o tramite librerie, poiché ha usi in molte situazioni.
Lista bianca. La convalida della whitelist è la pratica di accettare solo l’input che è noto per essere buono. Ciò può comportare la convalida della conformità con il tipo previsto, la lunghezza o la dimensione, l’intervallo numerico o altri standard di formato prima di accettare l’input per un’ulteriore elaborazione.
Perché non è sempre possibile utilizzare un approccio basato su whitelist per la convalida dell’input? Esistono molte situazioni in cui un’applicazione può essere costretta ad accettare dati per l’elaborazione che non corrispondono a un elenco o a un modello di input noto per essere “buono”.
La convalida dell’input, nota anche come convalida dei dati, è il test corretto di qualsiasi input fornito da un utente o da un’applicazione. Poiché è difficile rilevare un utente malintenzionato che sta tentando di attaccare il software, le applicazioni dovrebbero controllare e convalidare tutti gli input immessi in un sistema.
La convalida è il processo di verifica se la specifica soddisfa le esigenze del cliente, mentre la verifica è il processo di verifica che il software soddisfi le specifiche.
In sintesi, la convalida dell’input dovrebbe: essere applicata almeno a tutti i dati in input. Definire il set di caratteri consentito da accettare. Definire una lunghezza minima e massima per i dati (ad es. {1,25} ).
Convalida come difesa L’unica difesa veramente efficace contro l’input contaminato consiste nel proteggere il codice utilizzato per distribuire l’applicazione.
Configurazione errata della sicurezza Riferimenti di oggetti diretti non sicuri Autenticazione interrotta e gestione della sessione Scripting incrociato Una tecnica di attacco che forza la credenziale di sessione o l’ID sessione di un utente a un valore esplicito.
L’inserimento nella lista nera o la convalida della lista nera tenta di verificare che i dati forniti non contengano contenuti “non validi”. Ad esempio, un’applicazione Web può bloccare l’input che contiene il testo esatto
Commenti recenti