javascript échappement régulier
En JavaScript, les expressions régulières sont un outil puissant souvent utilisé pour faire correspondre et rechercher du texte. Cependant, dans le développement réel, nous devrons peut-être utiliser certains caractères spéciaux dans les expressions régulières, tels que des barres obliques inverses, des métacaractères d'expressions régulières, des espaces, etc. Ces caractères ont une signification particulière dans les expressions régulières et doivent être échappés pour obtenir l'effet souhaité. Par conséquent, il est nécessaire que nous comprenions l’échappement dans les expressions régulières JavaScript.
- Caractère d'échappement
En JavaScript, la barre oblique inverse () est un caractère spécial, que nous appelons un caractère d'échappement. Dans les expressions régulières, les caractères d'échappement peuvent être utilisés pour masquer les caractères spéciaux dans les expressions régulières, leur faisant perdre leur signification particulière et devenir des caractères ordinaires.
Par exemple, pour . dans l'expression régulière, il peut correspondre à n'importe quel caractère. Si nous devons correspondre à un point réel (.), nous devons l'échapper avec une barre oblique inverse :
let str = "my email is a.b@c.com"; let re = /a.b@c.com/; console.log(re.test(str)); // true
- Métacaractère
Expressions régulières dans JavaScript contient des caractères spéciaux, que nous appelons métacaractères. Ces métacaractères sont mis en correspondance selon leurs significations fixes. Par exemple, d correspond à n'importe quel caractère numérique, w correspond à n'importe quel caractère alphabétique ou numérique et s correspond à n'importe quel caractère d'espacement.
Dans les expressions régulières, si nous voulons faire correspondre un métacaractère spécifique, nous devons y échapper. Par exemple, si vous devez faire correspondre le caractère $ réel, vous devez ajouter une barre oblique inverse devant lui pour l'échapper et le transformer en $.的 Voici quelques caractères Yuan couramment utilisés et leurs caractères justes :
caractère | signifiant | |||
---|---|---|---|---|
. | correspond à n'importe quel caractère sauf la nouvelle ligne | . | ||
^ | correspond au début de la chaîne | ^ | ||
$ | correspond à la fin du chaîne | $ | ||
* | fait correspondre le caractère précédent zéro ou plusieurs fois | * | ||
+ | fait correspondre le caractère précédent une ou plusieurs fois | + | ||
? | match le précédent caractère zéro ou une fois | ? | ||
{ n } | correspond au caractère précédent exactement n fois | { n} | ||
{ n, } | correspond au caractère précédent au moins n fois | { n,} | ||
{ n, m } | Faites correspondre le caractère précédent n à m fois | { n,m} | ||
[ ] | Faites correspondre n'importe quel caractère entre crochets | [ ] | ( ) | |
( ) | ||||
représente ou opère | ||||
d | correspond à n'importe quel nu personnage meric | d |
下面是一些常见元字符的使用示例:
let str = "277-9981"; let re1 = /d{3}-d{4}/; // 匹配xxx-xxxx格式的电话号码 let re2 = /[()]|d/g; // 匹配括号和数字 console.log(re1.test(str)); // true console.log(str.match(re2)); // ['2', '7', '7', '9', '9', '8', '1']
在正则表达式中,元字符的使用需要非常小心,因为它们的含义可能因为上下文的变化而发生改变。
- JavaScript内置的正则表达式对象
除了以上介绍的方式,JavaScript内置的RegExp对象也提供了一些字符串转义的方法。具体而言,RegExp对象提供了两个方法:RegExp.escape()和RegExp()构造函数中的转义。
RegExp.escape()方法可以将字符串中的元字符进行转义,使其失去特殊含义,变成普通字符。例如下面的代码:
let str = "I love music."; let re = new RegExp(RegExp.escape("love music.")); console.log(re.test(str)); // true
另外,使用RegExp()构造函数时,可以直接使用转义后的字符来匹配正则表达式。例如下面的代码:
let str = "Hello world!"; let re = new RegExp("\bHello\b"); console.log(re.test(str)); // true
需要注意的是,在使用RegExp.escape()方法时,我们需要确保该方法已定义。在ECMAScript6之前,该方法并未被正式纳入规范,因此在一些浏览器中可能无法使用。在这种情况下,我们可以模拟该方法:
RegExp.escape = function(str) { return str.replace(/[\^$*+?.()|[]{}]/g, '\$&'); }
总结
本文介绍了在JavaScript中使用正则表达式时需要注意的转义问题。首先,我们了解了反斜杠在正则表达式中的转义作用,它可以将一些特殊字符转义为普通字符。其次,我们介绍了一些常见的正则表达式元字符以及它们的转义方式。最后,我们学习了JavaScript内置的正则表达式对象中提供的转义方法。掌握这些转义技巧,可以帮助我们正确地使用正则表达式,特别是在处理一些特殊字符的时候。
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds



L'article traite de l'utilisation Effecte dans React, un crochet pour gérer les effets secondaires comme la récupération des données et la manipulation DOM dans les composants fonctionnels. Il explique l'utilisation, les effets secondaires courants et le nettoyage pour éviter des problèmes comme les fuites de mémoire.

Le chargement paresseux retarde le chargement du contenu jusqu'à ce qu'il soit nécessaire, améliorant les performances du Web et l'expérience utilisateur en réduisant les temps de chargement initiaux et la charge du serveur.

L'article traite du curry dans JavaScript, une technique transformant les fonctions mulguments en séquences de fonctions à argument unique. Il explore la mise en œuvre du currying, des avantages tels que des applications partielles et des utilisations pratiques, améliorant le code

Les fonctions d'ordre supérieur dans JavaScript améliorent la concision du code, la réutilisabilité, la modularité et les performances par abstraction, modèles communs et techniques d'optimisation.

L'article explique l'algorithme de réconciliation de React, qui met à jour efficacement le DOM en comparant les arbres DOM virtuels. Il traite des avantages de la performance, des techniques d'optimisation et des impacts sur l'expérience utilisateur. Compte de charge: 159

L'article discute de la connexion des composants React à Redux Store à l'aide de Connect (), expliquant MapStateToproprop, MapDispatchToprops et des impacts de performances.

L'article explique UseContext dans React, qui simplifie la gestion de l'État en évitant le forage des accessoires. Il traite des avantages tels que les améliorations centralisées de l'État et des performances grâce à des redevances réduites.

L'article discute de la prévention des comportements par défaut dans les gestionnaires d'événements à l'aide de la méthode empêchée dedEfault (), de ses avantages tels que une expérience utilisateur améliorée et des problèmes potentiels tels que les problèmes d'accessibilité.
