[ Web Proxy ]
URL:
Viewing: https://it.javascript.info/task/find-programming-language [Back]  [Original]

Trovate il nome dei linguaggi di programmazione
IT

Vorremo rendere disponibile questo progetto open-source per persone in tutto il mondo.

Aiutaci a tradurre il contenuto di questo tutorial nella tua lingua!

    Cerca in Javascript.info:
    Cerca nel tutorial:
    Light themeDark theme
    DanskEnglishEspaolFranaisIndonesiaItalianoTrkeOzbek
    torna alle lezioni

    Trovate il nome dei linguaggi di programmazione

    Ci sono molti linguaggi di programmazione, Per esempio Java, JavaScript, PHP, C, C++.

    Create una regexp che li trovi nella stringa Java JavaScript PHP C++ C:

    let regexp = /your regexp/g;
    
    alert("Java JavaScript PHP C++ C".match(regexp)); // Java JavaScript PHP C++ C
    soluzione

    La prima idea potrebbe essere elencare i linguaggi separati da |.

    Ma non funziona bene:

    let regexp = /Java|JavaScript|PHP|C|C\+\+/g;
    
    let str = "Java, JavaScript, PHP, C, C++";
    
    alert( str.match(regexp) ); // Java,Java,PHP,C,C

    Linterprete dellespressione regolare cerca le alternanze una per una. In altre parole: per prima cosa cerca Java, se non la trova cerca JavaScript e cos via.

    Il risultato che JavaScript non trova mai corrispondenza proprio perch Java viene controllato per prima.

    Lo stesso accade con C e C++.

    Ci sono due soluzioni per questo problema:

    1. Cambiare lordine di verifica mettendo per primo il termine pi lungo: JavaScript|Java|C\+\+|C|PHP.
    2. Unire le varianti che cominciano allo stesso modo: Java(Script)?|C(\+\+)?|PHP.

    In azione:

    let regexp = /Java(Script)?|C(\+\+)?|PHP/g;
    
    let str = "Java, JavaScript, PHP, C, C++";
    
    alert( str.match(regexp) ); // Java,JavaScript,PHP,C,C++

    Web Proxy Viewer  |  New URL  |  Original Page