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

Trouver les langages de programmation
FR

Nous souhaitons rendre ce projet open source disponible pour les gens du monde entier.

Aidez-nous traduire le contenu de ce tutoriel dans votre langue!

    Rechercher sur Javascript.info:
    Rechercher dans le tutoriel:
    Light themeDark theme
    DanskEnglishEspaolFranaisIndonesiaItalianoTrkeOzbek
    retour au cours

    Trouver les langages de programmation

    Il y a beaucoup de langages de programmation, par exemple Java, JavaScript, PHP, C, C++.

    Crez une regexp qui les trouve dans une chaine de caractre Java JavaScript PHP C++ C :

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

    La premire ide peut tre de lister les langages avec des | entre deux.

    Mais cela ne fonctionne pas correctement :

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

    Le moteur dexpression rgulire regarde les alternances une par une. Cest--dire : il regarde dabord si nous avons Java, sinon il recherche JavaScript et ainsi de suite.

    Ainsi, JavaScript ne peut jamais tre trouv, puisque Java est vrifi en premier.

    Pareil pour C et C++.

    Il y a deux solutions ce problme :

    1. Changer lordre pour vrifier le mot le plus long en premier : JavaScript|Java|C\+\+|C|PHP.
    2. Fusionner les mots commenant de la mme manire : Java(Script)?|C(\+\+)?|PHP.

    En action :

    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