Existe-t-il une fonction native RegExp.escape en JavaScript ?
En JavaScript, créer une expression régulière à partir d'une chaîne arbitraire peut être difficile. Bien que Ruby fournisse une méthode RegExp.escape pratique, JavaScript n'a pas d'équivalent intégré.
Caractères d'échappement pour les expressions régulières
Pour inclure des caractères littéraux dans une expression régulière, il faut souvent leur échapper. Ceci est réalisé en les faisant précéder d'une barre oblique inverse (). Par exemple, pour faire correspondre la chaîne "[", on utiliserait "[" dans l'expression régulière.
Current Escape Regex Solutions
Malheureusement, la fonction liée dans un autre La réponse ne parvient pas à échapper certains caractères, tels que ^ (début de chaîne), $ (fin de chaîne) et - (utilisé pour les plages de caractères groupes).
Une fonction Regex d'échappement complète
Une fonction d'échappement plus robuste, comme suggéré dans une autre réponse, est fournie ci-dessous :
function escapeRegex(string) { return string.replace(/[/\-\^$*+?.()|[\]{}]/g, '\$&'); }
Cette fonction échappe efficacement à tous les caractères ayant une signification particulière dans les expressions régulières, y compris ceux négligés dans d'autres solutions. Sa polyvalence s'étend à la fois aux classes de caractères et aux corps d'expressions régulières, ce qui la rend adaptée à un large éventail de cas d'utilisation.
La nécessité d'une solution native
Il convient de noter le absence de méthode standard RegExp.escape en JavaScript. Bien que la fonction fournie offre une alternative viable, l'absence d'implémentation native reste une omission flagrante dans les fonctionnalités du langage.
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!