Maison >interface Web >js tutoriel >Conseil rapide: test si une chaîne correspond à un regex en javascript

Conseil rapide: test si une chaîne correspond à un regex en javascript

William Shakespeare
William Shakespeareoriginal
2025-02-09 10:39:12739parcourir

Quick Tip: Testing if a String Matches a Regex in JavaScript

Points de base

  • La méthode test() de JavaScript est un outil pratique pour vérifier si une chaîne correspond à une expression régulière. Cette méthode accepte une chaîne comme argument et renvoie une valeur booléenne indiquant si la chaîne correspond à l'expression régulière.
  • Les expressions régulières en JavaScript sont utiles pour détecter des informations dans des chaînes qui peuvent être écrites dans différents formats (telles que les dates, les URL, les e-mails, etc.). Ils fournissent des conditions de test de chaîne plus flexibles que des méthodes telles que indexOf().
  • D'autres méthodes de correspondance des expressions régulières JavaScript incluent match, search et exec. Ces méthodes sont utilisées pour récupérer une partie d'une chaîne qui correspond à une expression régulière, à rechercher des modèles d'expression régulière dans une chaîne et des résultats de recherche.

Ce court didacticiel expliquera comment utiliser la méthode test() pour tester si une chaîne correspond à une expression régulière.

Les stands sont des fragments de texte qui peuvent contenir diverses données telles que les URL, les numéros de téléphone, les noms, les numéros, etc. Dans de nombreux cas, vous devez vérifier si la chaîne contient un morceau de texte ou un type de caractère.

Lorsque vous testez si une chaîne contient une sous-chaîne spécifique, vous pouvez avoir tendance à utiliser des méthodes comme indexOf(). Cependant, pour des tests et des conditions plus flexibles, l'utilisation d'expressions régulières est un meilleur choix.

La correspondance d'expression régulière JavaScript vous permet de vérifier si une chaîne contient un modèle, une sous-chaîne ou un type de caractère spécifique. Les expressions régulières sont utiles pour détecter les informations dans les chaînes qui peuvent être écrites dans différents formats, tels que les dates.

Test des chaînes avec des expressions régulières

Pour tester si une chaîne correspond à une expression régulière, vous devez d'abord créer une instance d'expression régulière. Vous pouvez ensuite utiliser la méthode test() disponible sur l'expression régulière pour vérifier si la chaîne correspond à l'expression régulière.

test() La méthode accepte un paramètre: la chaîne à tester contre le motif. Il renvoie une valeur booléenne indiquant si la chaîne correspond à l'expression régulière.

Exemple:

<code class="language-javascript">const pattern = /test.*regular/;
const str = 'I want to test this string against a regular expression';
if (pattern.test(str)) {
  console.log('Matched');
} else {
  console.log('Not Matched');
}</code>

Dans cet exemple, vous créez le motif test.*regular. Ce modèle signifie que la chaîne doit contenir les mots "test" et "régulière" dans cet ordre, et les mots peuvent être séparés par zéro ou plus de caractères.

Si test() Renvoie true, "Matted" est enregistré dans la console. Sinon, enregistrez "non correspondant" dans la console.

Puisque str contient les mots "test" et "régulière", et "test" est avant "régulière" dans la chaîne, il correspondra au modèle et test() retournera true.

Vous pouvez également déclarer le modèle en utilisant RegExp Constructeur:

<code class="language-javascript">const pattern = new RegExp('test.*regular');
const str = 'I want to test this string against a regular expression';
if (pattern.test(str)) {
  console.log('Matched');
} else {
  console.log('Not Matched');
}</code>

Vous pouvez le tester dans la démo de codepen ci-dessous.

Exemples communs

Cette section montre quelques exemples sur la façon d'utiliser la correspondance de l'expression régulière JavaScript pour tester les cas d'utilisation courants. Il convient de noter que les expressions régulières utilisées ici peuvent ne pas être la solution parfaite dans tous les cas. Ils sont chacun utilisés pour fournir un exemple simple du fonctionnement du processus.

Test URL

Vous pouvez utiliser des expressions régulières pour tester si une chaîne est une URL. Vous pouvez expérimenter la démonstration du code de code suivante.

Notez que le modèle d'expression régulière utilisé ci-dessus s'attend à ce que l'URL commence par http:// ou https://.

tester le courrier électronique

Vous pouvez utiliser des expressions régulières pour tester si une chaîne est une adresse e-mail valide. La démonstration du code de code suivante montre comment le faire.

Date de test

Vous pouvez utiliser des expressions régulières pour tester si une chaîne est une date. La démonstration du code de code suivante montre comment le faire.

Notez que le format du modèle d'expression régulière utilisé ci-dessus est "dd-mm-yyy" ou "dd / mm / yyyy".

d'autres façons de faire correspondre les expressions régulières JavaScript

Il existe d'autres moyens de tester si une chaîne correspond à une expression régulière. Cet article ne le présentera pas dans son intégralité, mais ce qui suit est un bref aperçu:

  • match. Cette méthode est disponible sur les chaînes. Il accepte une expression régulière comme un argument et récupère la partie de la chaîne qui correspond à l'expression régulière (si elle existe).
  • search. Cette méthode est disponible sur les chaînes. Il accepte les expressions régulières comme arguments, recherchant si le modèle d'expression régulière existe dans la chaîne, et dans le cas, la recherche de l'index dans lequel le modèle apparaît d'abord dans la chaîne.
  • exec. Cette méthode est disponible sur les expressions régulières. Il prend une chaîne comme argument, recherche la chaîne pour les modèles d'expression réguliers et récupère le résultat (s'il est présent).

Conclusion

Les expressions régulières sont utiles pour tester si une chaîne contient un modèle ou une sous-chaîne spécifique. En utilisant la correspondance de l'expression régulière JavaScript, vous pouvez vérifier si la chaîne est une URL, une date, une adresse IP ou un autre type et format.

La méthode indexOf() disponible sur les expressions régulières offre une plus grande flexibilité lors du test si une chaîne correspond aux modèles que d'utiliser d'autres méthodes telles que test().

lectures connexes:

  • Expressions régulières en javascript
  • 3 conseils intelligents pour utiliser des expressions régulières
  • Déverrouiller le mystère de Regex en utilisant des exemples réels
  • Conseils rapides: comment diviser une chaîne en sous-chaînes en javascript

FAQ sur la correspondance avancée des chaînes et les expressions régulières à l'aide de la méthode Match () de JavaScript

Quel est le but de la méthode Match () en JavaScript?

La méthode match() en JavaScript est un outil puissant pour récupérer les correspondances lors de la correspondance des chaînes à des expressions régulières. Il renvoie un tableau de résultats, y compris toute la chaîne de correspondance et toutes les parenthèses de sous-chaîne capturées. Si aucune correspondance n'est trouvée, retournez null. Cette méthode est particulièrement utile lorsque vous devez manipuler des chaînes ou vérifier l'existence d'un motif spécifique dans une chaîne.

En quoi la méthode Match () dans JavaScript est-elle différente des autres méthodes de chaîne?

Contrairement à d'autres méthodes de chaîne telles que indexOf() ou includes(), la méthode match() permet une correspondance de motifs plus complexe. Il utilise des expressions régulières, qui fournit un moyen flexible et concis de faire correspondre les chaînes de texte. Cela en fait un outil plus puissant pour les tâches telles que la validation des formulaires, l'extraction des données et la manipulation des chaînes.

Pouvez-vous fournir un exemple de la façon d'utiliser la méthode Match ()?

Bien sûr, disons que vous avez une chaîne et que vous souhaitez trouver toutes les occurrences du mot "test". Voici comment le faire: let str = "This is a test. Test is important."; let result = str.match(/test/gi); console.log(result); // ["test", "Test"] Dans cet exemple, l'expression régulière /test/gi est utilisée. L'indicateur «G» représente une recherche globale, et le drapeau «i» représente une recherche insensible à la cas.

Quelles sont les expressions régulières en JavaScript?

Les expressions régulières, également appelées regex ou regexp, sont des modèles utilisés pour faire correspondre les combinaisons de caractères dans les chaînes. En JavaScript, les expressions régulières sont des objets qui peuvent être définis de deux manières: utiliser des littéraux ou utiliser le constructeur RegExp. Ils fournissent un moyen puissant d'effectuer une correspondance de modèles sur certains personnages, mots et modèles de personnages.

Comment utiliser des expressions régulières avec la méthode Match ()?

Vous pouvez utiliser directement des expressions régulières comme paramètres à la méthode match(). Par exemple, si vous souhaitez trouver tous les nombres dans une chaîne, vous pouvez utiliser les caractères spéciaux d pour représenter les nombres dans une expression régulière: let str = "The year is 2022."; let result = str.match(/d /g); console.log(result); // ["2022"] Dans cet exemple, d correspond à un ou plusieurs nombres, et l'indicateur "G" effectue une recherche globale pour toutes les correspondances, pas seulement le premier match.

Que se passe-t-il si une correspondance ne peut être trouvée lors de l'utilisation de la méthode Match ()?

Lors de l'utilisation de la méthode match(), si aucune correspondance n'est trouvée, elle renvoie null. Ceci est utile pour la vérification des conditions. Par exemple, vous pouvez vérifier si le résultat est null avant de continuer avec d'autres opérations dans votre code.

Puis-je remplacer la partie de la chaîne par la méthode Match ()?

Bien que la méthode match() soit principalement utilisée pour la recherche, si vous souhaitez remplacer une partie de la chaîne en fonction du motif, JavaScript fournit la méthode replace(), qui peut être utilisée par des expressions régulières. Cependant, vous pouvez utiliser la méthode match() pour trouver la partie de la chaîne qui doit être remplacée.

Comment utiliser la méthode Match () pour capturer un groupe?

Vous pouvez capturer des groupes en utilisant des supports dans des expressions régulières. La méthode match() renvoie ces groupes en tant qu'éléments séparés dans le tableau de résultat. Par exemple: let str = "The year is 2022."; let result = str.match(/(d )/g); console.log(result); // ["2022"] Dans cet exemple, (d ) est un groupe qui correspond à un ou plusieurs nombres.

Puis-je utiliser des caractères spéciaux dans une expression régulière avec la méthode Match ()?

Oui, les expressions régulières prennent en charge une série de caractères spéciaux qui vous permettent de créer des modèles de recherche complexes. Par exemple, d signifie n'importe quel nombre, w signifie n'importe quel caractère alphanumérique, et . signifie tout caractère sauf les ruptures de ligne.

Quelles sont les limites de la méthode Match ()?

Bien que la méthode match() soit puissante, elle a certaines limites. Il ne peut être utilisé qu'avec des chaînes, pas avec d'autres types de données. De plus, il ne peut renvoyer qu'un tableau de résultat ou null, pas une valeur booléenne. Si vous avez besoin de résultats booléens, vous devrez peut-être utiliser la méthode RegExp de l'objet test() à la place.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn