2013-10-03 19 views
6

Che cosa fa il test RegEx qui?Che cosa significa questa espressione Javascript (espressione regolare)?

So solo che è mescolato con l'espressione regolare, ma non riesco a capire cosa significa.

+0

Maggiori informazioni sulle espressioni regolari [qui] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions) – aug

+0

si prega di collegarsi al sito che fa questo, perché il controllo di questa merda sul lato client è un "drop table" in attesa di accadere – mkoryak

+0

Ah bene, almeno questo codice lo renderebbe un po 'più difficile. Potresti dover dire "DROP TABLE" invece! just_a_newbie, quello a cui mi riferisco qui è il fatto che questa espressione regolare corrisponde solo alle parole * minuscole *, ma le parole chiave SQL sono indipendenti dal case e infatti sono tradizionalmente scritte in maiuscolo. –

risposta

2

Ci sono una serie di buoni strumenti online per testare ed esplorare le espressioni regolari in questi giorni.

Uno che mi piace è debuggex.com. Ecco quello che mostra per la vostra espressione regolare:

^\s*(?:delete|drop|truncate|alter) 

Regular expression visualization

Debuggex Demo

Per interpretare questo, hai ancora bisogno di fare un po 'di compiti a casa, come scoprire che cosa ^ e \s media, ma il "Diagramma della ferrovia" aiuta a mostrare cosa sta testando l'espressione regolare. Basta seguire le linee per vedere che cosa abbinerà. Puoi anche provare a digitare le stringhe di prova nel link sopra per vedere come si abbina (o non corrisponde) a loro.

Un altro buon sito è regex101.com. Ecco your regular expression there. Ti danno una descrizione inglese di ciò che l'espressione regolare sta cercando.

Inoltre, prestare attenzione al consiglio di mkoryak di provare a disinfettare SQL sul client!

enter image description here

Problemi correlati