torna alle lezioni

Java[^script]

Abbiamo una regexp /Java[^script]/.

Cosa corrisponde nella stringa Java? E nella stringa JavaScript?

Risposte: no, sì.

  • Nello script Java non c’è corrispondenza, dato che per [^script] si intende “qualunque carattere eccetto quelli dati”. Quindi la regexp cerca "Java" seguito da uno di tali caratteri, ma c’è la fine della stringa, non ci sono caratteri dopo di esso.

    alert( "Java".match(/Java[^script]/) ); // null
  • Sì, poiché [^script] trova il carattere "S" che non è uno di script. Considerato che la regexp fa distinzione tra maiuscole e minuscole (non c’è il flag i), tratta "S" come un carattere differente da "s".

    alert( "JavaScript".match(/Java[^script]/) ); // "JavaS"