+ regexp correspondant entre crochets

Je me bats avec l’expression rationnelle suivante

[A-z0-9]+ 

Si testé avec cette chaîne:

 ||a919238[.--a]asd| 

il renvoie a919238[ , y compris les crochets. J’ai essayé de saisir mon test sur regex101 pour comprendre ce qui ne va pas, mais l’explication de regex du site n’aide pas, probablement je ne peux pas voir mon erreur.

Pourquoi le crochet est-il inclus dans le résultat?

Car

 [A-z0-9]+ ↑ ↑ 

est de A à z , voir le tableau ASCII, ] apparaît entre les deux caractères:

entrer la description de l'image ici

 A===>64 z===>122 [===>91 

Donc, il se situe entre la plage que vous avez définie.Utilisez [A-Za-z0-9]+

Vous pouvez utiliser /[a-z0-9]+/i (le i rend insensible à la casse), ou /[A-Za-z0-9]+/ .