La dernière fois que de nombreux amis ont écrit sur le blocage de texte et mentionné l'utilisation d'expressions régulières, ce n'est pas que je ne veux pas utiliser d'expressions régulières (je n'utilise pas beaucoup d'expressions régulières, comme le savent tous ceux qui ont vu mes précédents robots d'exploration, J'utilise directement les balises de page Web de BeautifulSoup pour trouver du contenu, car c'est facile à comprendre et pratique, mais il est difficile de maîtriser les règles habituelles (quiconque a vu le tableau normal doit savoir qu'il existe de nombreuses règles de méthode correspondant aux symboles. dans celui-ci, qui est très flexible), pour les amis qui n'ont pas été exposés à la programmation depuis longtemps. Il est très probable que beaucoup de temps sera perdu dans le processus de programmation. Aujourd'hui, je vais présenter brièvement les expressions régulières fréquemment utilisées. À moins qu’ils ne soient très spéciaux, ils seront essentiellement utilisés.
1. Une brève introduction aux expressions régulières
Vous devez d'abord importer la méthode régulière import re L'expression régulière est un outil puissant pour traiter les chaînes et possède son propre outil indépendant. traitement Le mécanisme n'est peut-être pas aussi efficace que la propre méthode de str, mais sa fonction est très flexible et puissante. Son processus de fonctionnement consiste d'abord à définir une règle de correspondance (« le contenu souhaité + les règles de grammaire régulières »), à insérer la chaîne à faire correspondre, puis à récupérer les informations souhaitées via le mécanisme interne des règles régulières.
2. Plusieurs postures couramment utilisées de findall
La structure de base est grossièrement : nojoke = re.findall(r'matching Rules','la chaîne souhaitée à être récupéré ') nojoke est le résultat que nous avons finalement renvoyé via régularité. re régularité findall recherche tous les indicateurs r qui représentent des instructions suivies par régularité (cela facilite la vérification lorsqu'il y a beaucoup de code). exemples pour mieux comprendre
Ce code consiste à trouver tous les caractères bi dans la chaîne de recherche et à les renvoyer sous la forme d'une liste. Ceci est souvent utilisé pour compter le nombre de. occurrences de caractères unifiés. Continuez à regarder le suivant
Un symbole ^ est ajouté ici pour indiquer que la chaîne qui correspond à la chaîne commençant par abi est renvoyée. Vous pouvez également déterminer si la chaîne commence. avec abi.
Ici, le symbole $ est utilisé pour représenter le retour de la chaîne se terminant par gbi afin de déterminer si la chaîne se termine.
Ici [...] signifie faire correspondre les valeurs de a et f, ou b et f, ou c et f entre parenthèses pour renvoyer une liste.
"d" est une règle de grammaire régulière utilisée pour faire correspondre les nombres entre 0 et 9 et renvoyer une liste. Il convient de noter que 11 sera traité comme les chaînes '1. ' et '1 'Renvoyer au lieu de renvoyer la chaîne '11' N'oubliez pas de l'utiliser de manière incorrecte et cela entraînera un gros piège.
Bien sûr, la solution est d'écrire autant de d que vous le souhaitez. Ce qui précède montre comment obtenir 3 chiffres dans une chaîne. Cela montre la flexibilité des expressions régulières.
Le petit d ici signifie prendre les chiffres de 0 à 9, et le grand D signifie qu'aucun chiffre n'est renvoyé, c'est-à-dire qu'un contenu autre que des chiffres est renvoyé.
"w" dans l'expression régulière représente la correspondance de a minuscule à z, de A majuscule à Z, et les nombres de 0 à 9 incluent les trois premiers types, comme imprimé ci-dessus .
"W" dans l'expression régulière signifie faire correspondre des symboles spéciaux autres que les lettres et les chiffres, mais ici, l'utilisation de barres obliques doit être notée que la chaîne est un symbole d'échappement. Pour plus de détails, consultez l'étude Baidu.
L'utilisation de parenthèses () signifie ici que la correspondance consiste à prendre le contenu entre parenthèses. Ici.* est la syntaxe de correspondance gourmande habituelle. Le point clé est de maximiser l'avantage gourmand et la gamme maximale de critères de correspondance, comme indiqué dans . la figure ci-dessus.
Un point d'interrogation est ajouté ici.* ? Il s'agit de limiter la correspondance à la plage maximale, également appelée correspondance de modèles non gourmande. Le résultat est de faire correspondre le contenu des deux p et de les renvoyer.
Ajouter re.I (i majuscule) ici signifie correspondre quel que soit le cas d'homme ou de femme, sinon la correspondance ci-dessus apparaîtra s'il y a des majuscules et des minuscules plus tard. Not found vous renvoie une liste vide.
Ce qui se passe ici est n, communément appelé caractère de nouvelle ligne. Une fois la ligne coupée, le programme ne le reconnaîtra plus, nous avons donc ajouté re.S (majuscule). pour représenter le rapport. Faites correspondre tous les caractères, y compris les sauts de ligne, et renvoyez-les. Fondamentalement, après avoir appris la syntaxe et l'utilisation ci-dessus, vous pouvez obtenir plus de 70 % des méthodes de correspondance. Bien sûr, il existe de nombreuses méthodes que je n'utiliserai pas. liste. Vous pouvez apprendre le reste par vous-même. En gros, je l’utilise rarement).
2. Utilisation et différence entre correspondance et recherche :
re.match essaie de faire correspondre un motif à partir de la position de départ de la chaîne. position, la correspondance est réussie. Si c'est le cas, match() n'en renvoie aucun. re.search analyse la chaîne entière et renvoie la première correspondance réussie. C'est facile à comprendre si vous regardez le code. Comme suit :
Ici, imprimez la fin directement et ajoutez .span() pour obtenir la position de la chaîne correspondante et la renvoyer sous forme de tuple (position de départ, position de fin ), il y en a un Non écrit car il renvoie null et le compilateur signalera une erreur.
Est-ce clair en un coup d'œil, match ne correspondra qu'au début et retournera None s'il est introuvable. Je n'ai pas ajouté .group() ici à cause du retour. la valeur est nulle. Je l'ai ajouté. Le compilateur signalera une erreur et la recherche analysera la chaîne entière sans être pointilleux. Bien sûr, vous pouvez également utiliser la méthode régulière ci-dessus pour la faire correspondre. vous pouvez le pratiquer.
3. Utilisation de la sous-substitution
sub est utilisée pour remplacer les éléments correspondants dans une chaîne. La syntaxe est généralement re.sub(r'Règles de correspondance régulières', 'Chaîne de remplacement', la chaîne qui doit être récupérée)
Cela reflète le résultat de manière très intuitive, remplacez le signe # et la chaîne suivante par la chaîne que vous souhaitez modifier .
4. Bénéfice final
Avant de donner le bénéfice final, j'espère que tout le monde pourra pratiquer davantage l'utilisation et les règles ci-dessus. Ce n'est qu'en faisant plus d'erreurs et en résumant que vous pourrez accumuler. expérience, le dernier avantage est de vous indiquer quelques règles de correspondance d'e-mails couramment utilisées comme suit :
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!