• # Wtfjs en fait trop (un peu)

    Posté par (site web personnel) . En réponse au journal Et si JavaScript allait droit dans le mur ?. Évalué à 10.

    En cliquant sur le lien dans Il y a trop de pièges j'arrive sur une page se plaignant de ceci :

    /[A-z]/.test("\\"); // true WTF?
    

    C'est-à-dire que l'expression rationnelle est censée chercher en apparence les caractères alphabétiques majuscules ou minuscules. L'anti-slash (échappé) satisfait pourtant au test.

    C'est pareil en Python, aussi :

    >>> bool(re.match('[A-z]', '\\'))
    True

    En fait, on comprend quand on consulte l'extrait de la table ASCII :

    ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz
    

    Et plus précisément, ce qu'il y a entre Z et a :

    [\]^_`