Maison interface Web js tutoriel Tutoriel de correspondance de position pour le didacticiel d'expression régulière (avec code)

Tutoriel de correspondance de position pour le didacticiel d'expression régulière (avec code)

Mar 29, 2018 pm 06:03 PM
位置 匹配 表达式

Cette fois, je vous propose un tutoriel de correspondance de position (avec code) pour le tutoriel expression régulière Quelles sont les précautions pour utiliser le tutoriel d'expression régulière pour la correspondance de position. le combat réel Jetons un coup d’œil au cas.

L'exemple de cet article décrit la correspondance de position du didacticiel d'expression régulière. Partagez-le avec tout le monde pour référence, comme suit :

Remarque : Dans tous les exemples, les résultats de correspondance des expressions régulières sont inclus dans le texte source [ et ], quelques exemples seront implémentés en utilisant Java. S'il s'agit de l'utilisation d'expressions régulières dans Java lui-même, cela sera expliqué à l'endroit correspondant. Tous les exemples Java sont testés sous JDK1.6.0_13.

1. Introduction au problème

Si vous souhaitez faire correspondre un certain mot dans un morceau de texte (sans tenir compte du mode multiligne pour l'instant, qui sera présenté plus tard), nous Cela pourrait ressembler à ceci :

Texte : Hier c'est de l'histoire, demain est un mystère, mais aujourd'hui est un cadeau.

Expression régulière : est

Résultat : Hier 【est】 h【est】tory, demain 【est】 un mystère, mais aujourd'hui 【est】 un cadeau.

Analyse : À l'origine, il voulait seulement correspondre au mot is, mais il correspondait aussi au est contenu en d'autres termes . Pour résoudre ce problème, utilisez des délimiteurs de limites, c'est-à-dire utilisez des métacaractères dans les expressions régulières pour indiquer où (ou limite) nous voulons que l'opération de correspondance se produise.

2. Limites de mots

Une limite couramment utilisée est la limite de mot spécifiée par le qualificatif b, qui est utilisé pour faire correspondre le début et la fin d'un mot. Plus précisément, il fait correspondre une position entre un caractère pouvant être utilisé pour former un mot (lettre, chiffre, trait de soulignement, qui est le caractère qui correspond à w) et un caractère qui ne peut pas être utilisé pour former un mot (avec W correspond à des caractères). . Regardons l'exemple précédent :

Texte : Hier c'est de l'histoire, demain est un mystère, mais aujourd'hui est un cadeau.

Expression régulière : bisb

Résultat : Hier 【est】 de l'histoire, demain 【est】 un mystère, mais aujourd'hui 【est】 un cadeau.

Analyse : Dans le texte original, il y a un espace avant et après le mot is, et cela correspond au modèle bisb (l'espace est l'un des caractères utilisés pour séparer les mots). Le mot history contient également is, car il y a deux caractères h et t avant et après, aucun de ces deux caractères ne peut correspondre à b.

Si une limite de mot ne correspond pas, B est utilisé. Par exemple :

Texte : Veuillez saisir l'identifiant à neuf chiffres tel qu'il apparaît sur votre clé d'accès codée en couleur.

Expression régulière : B-B

Résultat : Veuillez saisir l'identifiant 【neuf chiffres】 tel qu'il apparaît sur votre couleur - codé 【clé d'accès】.

Analyse : B-B correspondra à un trait d'union qui n'est pas une limite de mot avant et après. Il n'y a pas d'espaces avant et après le trait d'union à neuf chiffres et dans le mot de passe, ils peuvent donc être mis en correspondance. en code couleur, il y a des espaces avant et après le trait d'union. Il y a des espaces, donc cela ne peut pas correspondre.

3. StringBoundary

La limite du mot peut être utilisée pour faire correspondre les positions liées aux mots (début du mot, fin du mot, mot entier , etc. attendez). Les limites de chaîne ont un objectif similaire, mais sont utilisées pour faire correspondre les positions liées aux chaînes (début de chaîne, fin de chaîne, chaîne entière, etc.). Deux métacaractères sont utilisés pour définir les limites d'une chaîne : l'un est ^ utilisé pour définir le début de la chaîne et l'autre est $ utilisé pour définir la fin de la chaîne.

Par exemple, si vous souhaitez vérifier la légalité d'un document XML, les documents XML légaux commencent tous par :

Texte :

<?xml version="1.0" encoding="UTF-8"?>
<project basedir="." default="ear">
</project>
Copier après la connexion

正则表达式:^\s*<\?xml.*?\?>

结果:



分析:^匹配一个字符串的开头位置,所以^\s*将匹配一个字符串的开头位置和随后的零个或多个空白字符,因为标签前面允许有空格、制表符、换行符等空白字符。

$元字符符的用法除了位置上的差异外,与^用法完全一样。比如,检查一个html页面是否以结尾,可以用模式:\s*$

四、多行匹配模式

正则表达式可以通过一些特殊的元字符来改变另外一些元字符的行为。可以通过(?m) 来启用多行匹配模式。多行匹配模式将使得正则表达式引擎把行分隔符当做一个字符串分隔符来对待。在多行匹配模式下,^不仅匹配正常的字符串开头,还将匹配行分隔符(换行符)后面的开始位置,$不仅匹配正常的字符串结尾,还将匹配行分隔符(换行符)后面的结束位置。

在使用时,(?m)必须出现在整个模式的最前面。比如,通过正则表达式把一段java代码中的单行注释(以//开始)内容全部找出来。

文本:

publicDownloadingDialog(Frame parent){
     //Callsuper constructor, specifying that dialog box is modal.
     super(parent,true);
     //Setdialog box title.
     setTitle("E-mailClient");
     //Instructwindow not to close when the "X" is clicked.
     setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
     //Puta message with a nice border in this dialog box.
     JPanelcontentPanel = new JPanel();
     contentPanel.setBorder(BorderFactory.createEmptyBorder(5,5, 5, 5));
     contentPanel.add(newJLabel("Downloading messages..."));
     setContentPane(contentPanel);
     //Sizedialog box to components.
     pack();
     //Centerdialog box over application.
     setLocationRelativeTo(parent);
}
Copier après la connexion

正则表达式:(?m)^\s*//.*$

结果:

         publicDownloadingDialog(Frame parent){
【              //Call superconstructor, specifying that dialog box is modal.】                   super(parent,true);
【              //Set dialog boxtitle.】                   setTitle("E-mailClient");
【              //Instruct windownot to close when the "X" is clicked.】                   setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
【              //Put a messagewith a nice border in this dialog box.】                   JPanelcontentPanel = new JPanel();
                   contentPanel.setBorder(BorderFactory.createEmptyBorder(5,5, 5, 5));
                   contentPanel.add(newJLabel("Downloading messages..."));
                   setContentPane(contentPanel);
【              //Size dialog boxto components.】                   pack();
【              //Center dialogbox over application.】                   setLocationRelativeTo(parent);
         }

分析:^\s*//.*$将匹配一个字符串的开始,然后是任意多个空白字符,再后面是//,再往后是任意文本,最后是一个字符串的结束。不过这个模式只能找出第一条注释,加上(?m)前缀后,将把换行符视为一个字符串分隔符,这样就可以把每一行注释匹配出来了。

java代码实现如下(文本保存在text.txt文件中):

public static String getTextFromFile(String path) throws Exception{
  BufferedReader br = new BufferedReader(new FileReader(new File(path)));
  StringBuilder sb = new StringBuilder();
  char[] cbuf = new char[1024];
  int len = 0;
  while(br.ready() && (len = br.read(cbuf)) > 0){
    br.read(cbuf);
    sb.append(cbuf, 0, len);
  }
    br.close();
  return sb.toString();
}
public static void multilineMatch() throws Exception{
  String text = getTextFromFile("E:/text.txt");
  String regex = "(?m)^\\s*//.*$";
  Matcher m = Pattern.compile(regex).matcher(text);
  while(m.find()){
    System.out.println(m.group());
  }
}
Copier après la connexion

输出结果如下:

//Appelez le super constructeur, en spécifiant que la boîte de dialogue est modale.
//Définissez le titre de la boîte de dialogue.
//Instruisez que la fenêtre ne se ferme pas lorsque l'on clique sur le "X".
//Mettez un message avec une jolie bordure dans cette boîte de dialogue.
//Taille de la boîte de dialogue des composants.
//Centrez la boîte de dialogue sur l'application.

5. Résumé

Les expressions régulières peuvent non seulement être utilisées pour faire correspondre des blocs de texte de n'importe quelle longueur, mais peuvent également être utilisées pour faire correspondre du texte qui apparaît à des positions spécifiques dans une chaîne. b est utilisé pour spécifier une limite de mot (B est juste le contraire). ^ et $ sont utilisés pour spécifier les limites des mots. S'ils sont utilisés avec (?m), ^ et $ correspondront également aux chaînes qui commencent ou se terminent par un caractère de nouvelle ligne. L'utilisation de sous-expressions sera introduite dans le prochain article.

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php. !

Lecture recommandée :

Comment faire correspondre des nombres consécutifs avec des expressions régulières

Expérience de développement de la mise en œuvre d'une correspondance minimale avec des expressions régulières

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 de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Détails sur la façon d'activer les paramètres des variables d'environnement sur Windows 11 Détails sur la façon d'activer les paramètres des variables d'environnement sur Windows 11 Dec 30, 2023 pm 06:07 PM

La fonction de variable d'environnement est un outil essentiel pour exécuter le programme de configuration dans le système, mais dans le dernier système win11, de nombreux utilisateurs ne savent toujours pas comment la configurer. Voici une introduction détaillée à l'emplacement de la variable d'environnement. Ouverture de variable d'environnement win11. Venez nous rejoindre. Apprenez à l'exploiter. Où se trouvent les variables d'environnement win11 : 1. Entrez d'abord "win+R" pour ouvrir la boîte d'exécution. 2. Entrez ensuite la commande : controlsystem. 3. Dans l'interface d'informations système qui s'ouvre, sélectionnez « Paramètres système avancés » dans le menu de gauche. 4. Sélectionnez ensuite l'option "Variables d'environnement" en bas de la fenêtre "Propriétés système" qui s'ouvre. 5. Enfin, dans les variables d'environnement ouvertes, vous pouvez effectuer les réglages pertinents en fonction de vos besoins.

Chemin de démarrage Win11 et comment l'ouvrir Chemin de démarrage Win11 et comment l'ouvrir Jan 03, 2024 pm 11:13 PM

Chaque système Windows possède un chemin de démarrage si vous y ajoutez des fichiers ou des logiciels, il sera ouvert au démarrage. Cependant, de nombreux amis ne savent pas où se trouve le chemin de démarrage de Win11. En fait, il suffit de saisir le dossier correspondant sur le lecteur C. Chemin de démarrage Win11 : 1. Double-cliquez pour ouvrir « Ce PC » 2. Collez directement le chemin « C:\ProgramData\Microsoft\Windows\StartMenu\Programs\Startup » dans la zone du chemin. 3. Voici le chemin de démarrage de Win11. Si nous voulons ouvrir le fichier après le démarrage, nous pouvons y insérer le fichier. 4. Si vous ne pouvez pas entrer par ce chemin, il se peut qu'il soit masqué.

où se trouve le gestionnaire d'informations d'identification Windows10 où se trouve le gestionnaire d'informations d'identification Windows10 Jul 09, 2023 am 10:09 AM

Le Credential Manager est une fonction utilisée par les utilisateurs pour gérer les informations d'identification Web et les informations d'identification Windows, mais de nombreux utilisateurs ne savent toujours pas où se trouve Windows 10 Credential Manager. En fait, le gestionnaire d'informations d'identification se trouve sur le panneau de commande. Après avoir ouvert le panneau de configuration, n'oubliez pas de changer la méthode d'affichage en une petite icône, afin que vous puissiez voir le gestionnaire d'informations d'identification. Cliquez sur Afficher pour afficher diverses informations. un grand nombre de , vous devez entrer le mot de passe du compte. Où se trouve le gestionnaire d'informations d'identification Windows 10 : 1. Ouvrez le Panneau de configuration dans le système, cliquez sur la méthode Afficher dans le coin supérieur droit et convertissez le type en une petite icône. 2. Après l'avoir visualisé sous la forme d'une petite icône, cliquez sur « Gestionnaire de certificats ». 3. Après avoir accédé au gestionnaire d'informations d'identification, vous pouvez voir une introduction aux fonctions pertinentes, qui sont principalement utilisées pour

Emplacement de l'Origami Bird au Stardome Railway Crocker Film and Television Park Emplacement de l'Origami Bird au Stardome Railway Crocker Film and Television Park Mar 27, 2024 pm 11:51 PM

Il y a un total de 20 oiseaux en origami dans le Stardome Railway Croaker Movie Park. De nombreux joueurs ne savent pas où se trouvent les oiseaux en origami dans Crocker Movie Park. L'éditeur a résumé les emplacements de chaque oiseau en origami pour aider tout le monde à le rechercher. et jetez un œil à ce dernier résumé des emplacements des oiseaux en origami dans le Croaker Film and Television Park pour un contenu spécifique. Guide du Honky Dome Railway Star Dome Railway Crocker Film Park Origami Bird Emplacement 1, Crocker Film Park 1er étage 2, Crocker Film Park 2e étage

Comprendre l'emplacement et la structure du stockage du package d'installation pip Comprendre l'emplacement et la structure du stockage du package d'installation pip Jan 18, 2024 am 08:23 AM

Pour en savoir plus sur l'emplacement de stockage des packages installés par pip, vous avez besoin d'exemples de code spécifiques. Pip est un outil de gestion de packages couramment utilisé dans le langage Python. Il est utilisé pour installer, mettre à niveau et gérer facilement les packages Python. Lorsque vous utilisez pip pour installer un package, il téléchargera automatiquement le fichier de package correspondant à partir de PyPI (Python Package Index) et l'installera à l'emplacement spécifié. Alors, où sont stockés les packages installés par pip ? C'est un problème que de nombreux développeurs Python rencontreront. Cet article approfondira l'emplacement des packages installés par pip et fournira

Guide pratique des expressions régulières dans Go : comment faire correspondre les codes de couleur hexadécimaux Guide pratique des expressions régulières dans Go : comment faire correspondre les codes de couleur hexadécimaux Jul 13, 2023 am 10:46 AM

Guide pratique des expressions régulières du langage Go : Comment faire correspondre les codes de couleur hexadécimaux Introduction : Les expressions régulières sont un outil puissant et flexible pour la correspondance de modèles et la recherche de chaînes. Dans le langage Go, nous pouvons utiliser l'expression rationnelle du package d'expressions régulières intégrée pour implémenter ces opérations. Cet article explique comment utiliser des expressions régulières pour faire correspondre les codes de couleur hexadécimaux dans le langage Go. Importation du package d'expressions régulières Tout d'abord, nous devons importer l'expression rationnelle du package d'expressions régulières du langage Go. Vous pouvez ajouter l'instruction d'importation suivante au début du code : i

emplacement d'arrêt de win11 emplacement d'arrêt de win11 Jan 10, 2024 am 09:14 AM

Si nous allons être absents de l'ordinateur pendant une longue période, il est préférable d'éteindre l'ordinateur pour le protéger. Alors, où est l'arrêt dans Win11 ? En fait, d'une manière générale, ouvrez simplement le menu Démarrer et vous pourrez trouver. le bouton d'arrêt dedans. Où arrêter Windows 11 : Réponse : Dans le bouton d'alimentation du menu Démarrer. 1. Tout d'abord, nous cliquons sur le « Logo Windows » dans la barre des tâches inférieure pour ouvrir le « Menu Démarrer ». 2. Après ouverture, vous pouvez trouver le bouton « Alimentation » dans le coin inférieur droit, comme indiqué sur la figure. 3. Après avoir cliqué sur le bouton d'alimentation, vous verrez « Arrêter », cliquez dessus pour arrêter. 4. Si l'ordinateur ne peut pas être arrêté en raison de circonstances particulières telles qu'un crash, vous pouvez directement appuyer et maintenir enfoncé le « bouton d'alimentation » de l'ordinateur pour forcer l'arrêt.

Utilisation de la fonction d'enregistrement d'Apple : guide de l'application Messages dans iOS 17 Utilisation de la fonction d'enregistrement d'Apple : guide de l'application Messages dans iOS 17 Sep 14, 2023 pm 09:13 PM

Apple dans iOS 17 a ajouté une nouvelle fonctionnalité dans Messages pour informer vos proches lorsque vous êtes chez vous en toute sécurité. C'est ce qu'on appelle l'enregistrement, et voici comment l'utiliser. Que vous rentriez chez vous à pied après la tombée de la nuit ou que vous partiez courir tôt le matin, vous pouvez commencer à vous enregistrer avec votre famille ou vos amis dans l'application Messages d'Apple pour leur faire savoir quand vous êtes à la maison en toute sécurité. À votre arrivée, CheckIn détecte automatiquement votre présence chez vous et informe vos amis. Lorsqu'ils seront alertés et que l'enregistrement sera terminé, vous serez également averti. Si quelque chose d'inattendu se produit et que vous êtes retardé en cours de route, CheckTab reconnaîtra même que vous ne progressez pas et vous contactera pour vous demander si vous souhaitez augmenter votre ETA. si tu n'as pas

See all articles