Traits d'union entre parenthèses de caractères d'expression régulière
Lors de la définition d'une parenthèse de caractère d'expression régulière, il peut être difficile d'inclure le trait d'union (-) . En effet, le trait d'union est utilisé comme opérateur de plage dans les expressions régulières, indiquant une plage de caractères à correspondre. Pour inclure un trait d'union littéral entre crochets de caractères, il doit être échappé à l'aide d'une barre oblique inverse ().
Dans votre cas, l'expression régulière :
/^[a-zA-Z0-9.-_]+$/
tente de faire correspondre les chaînes qui ne font que contiennent des lettres, des chiffres, des points (.) et le trait d'union (-). Cependant, en raison du placement du trait d'union entre parenthèses de caractères, il est traité comme un opérateur de plage, ce qui entraîne la correspondance d'une plage de caractères entre "a" et "-".
Pour corriger cela , vous pouvez échapper le trait d'union à l'aide d'une barre oblique inverse, comme le montre l'expression régulière modifiée suivante :
/^[a-zA-Z0-9.\-_-]+$/
Cela garantira que le trait d'union est traité comme un caractère littéral et non comme un opérateur de plage. Alternativement, vous pouvez placer le trait d'union au début ou à la fin de la parenthèse de caractères, comme indiqué ci-dessous :
/^[.-a-zA-Z0-9_]+$/
En modifiant l'emplacement du trait d'union, vous pouvez l'inclure avec succès dans la parenthèse de caractères et vous assurer que il correspond littéralement dans votre expression de validation.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!