


Une introduction aux expressions régulières et à leurs fonctions de correspondance courantes en Python
/Introduction/
Python a ajouté le module re depuis la version 1.5, qui fournit des modèles d'expressions régulières de style Perl. Le module re permet au langage Python d'avoir toutes les fonctions d'expressions régulières.
La fonction de compilation génère un objet d'expression régulière basé sur une chaîne de modèle et des paramètres d'indicateur facultatifs. Cet objet dispose d'une série de méthodes pour la correspondance et le remplacement des expressions régulières.
Le module re fournit également des fonctions qui sont exactement les mêmes que ces méthodes. Ces fonctions prennent une chaîne de modèle comme premier paramètre.
/re.match function/
re.match essaie de faire correspondre un motif à partir de la position de départ de la chaîne. Si la position de départ ne correspond pas correctement, match() renvoie. aucun. La syntaxe est la suivante :
re.match(pattern, string, flags=0)
"pattern" correspond à l'expression régulière "string" et au flag "flags" de chaîne correspondant.
Si la correspondance réussit, la méthode re.match renvoie un objet correspondant, sinon elle renvoie Aucun.
Nous pouvons utiliser la fonction d'objet correspondant group(num) ou groups() pour obtenir l'expression correspondante.
group(num=0) 匹配的整个表达式的字符串,“group()”可以一次输入多个组号,在这种情况下它将返回一个包含那些组所对应值的元组。
下图是个实际例子:
输出结果如下图所示:
/检索和替换/
Python 的re模块提供了re.sub用于替换字符串中的匹配项。语法如下所示:
re.sub(pattern, repl, string, count=0, flags=0)
参数:
pattern : 正则中的模式字符串。
repl : 替换的字符串,也可为一个函数。
string : 要被查找替换的原始字符串。
count : 模式匹配后替换的最大次数,默认 0 表示替换所有的匹配。
flags : 编译时用的匹配模式,数字形式。
前三个为必参数,后两个为可选参数。
下图是个实际例子:
输出结果如下图所示:
/compile函数/
compile 函数用于编译正则表达式,供match() 和 search() 这两个函数使用。语法格式为:
re.compile(pattern[, flags])
参数:
pattern : 一个字符串形式的正则表达式
flags 可选,表示匹配模式,比如忽略大小写,多行模式等,具体参数为:
re.I 忽略大小写
re.L représente le jeu de caractères spéciaux w, W, b, B, s, S en fonction de l'environnement actuel
re.M mode multiligne
re.S est ' ' et comprend. le caractère de nouvelle ligne Tout caractère incluant (' . 'à l'exclusion des sauts de ligne)
re.U représente le jeu de caractères spéciaux w, W, b, B, d, D, s, S et s'appuie sur la base de données d'attributs de caractères Unicode
re.
re.MatchObject : group() renvoie la chaîne correspondant à RE. Start () Retourne à la position du début correspondant
END () Renvoie la position de la position correspondante. Modificateur d'expression régulière - drapeaux facultatifs/.
Les expressions régulières peuvent contenir des modificateurs de drapeau facultatifs pour contrôler les modèles correspondants. Le modificateur est spécifié comme indicateur facultatif. Plusieurs indicateurs peuvent être spécifiés par OU(|) au niveau du bit. Par exemple, re.I | re.M est défini sur les indicateurs I et M :
re.I | rend la correspondance insensible à la casse | ||||
re. L | fait la reconnaissance de localisation (locale-aware) correspondant à | ||||
re. | re. re.U Analyse les caractères selon le jeu de caractères | ||||
. Ce signe affecte w, W, b, B. | |||||
re. | /regular expression pattern/ Les chaînes de modèles utilisent une syntaxe spéciale pour représenter une expression régulière : Les lettres et les chiffres se représentent eux-mêmes. Les lettres et les chiffres d'un modèle d'expression régulière correspondent à la même chaîne. La plupart des lettres et des chiffres ont des significations différentes lorsqu'ils sont précédés d'une barre oblique inverse. Les signes de ponctuation ne correspondent à eux-mêmes que s'ils sont échappés, sinon ils représentent une signification particulière. La barre oblique inverse elle-même doit être échappée avec une barre oblique inverse. Étant donné que les expressions régulières contiennent généralement des barres obliques inverses, vous feriez mieux d'utiliser des chaînes brutes pour les représenter. Les éléments de motif (tels que r't', équivalent à \t) correspondent aux caractères spéciaux correspondants. Le tableau suivant répertorie les éléments spéciaux dans la syntaxe du modèle d'expression régulière. Si vous utilisez un modèle et fournissez des arguments flags facultatifs, la signification de certains éléments du modèle changera. Exemple d'expression régulière Correspondance de caractères Exemple Description python correspond à "python". 字符类 /实际应用/ 以猫眼电影为例。我们需要获取(电影的名字作者,上映时间)等等都可以用正则表达式来解析。 分析一下,利用正则表达式提取。 可以看到我们要的名字在一个a里面,而他们被一个div包裹着。 我们把div想象成一个盒子,可以看到div里面还有一个div 我们可以先找他上面一层的div是一个表单 分析完再实际操作一下: (.*?)表示我们要的内容 (.*?) /小结/ 1. Les expressions régulières conviennent aux scénarios dans lesquels plusieurs données doivent être obtenues. Il peut obtenir les données souhaitées plus rapidement. 2. Cet article présente principalement les expressions régulières et leur utilisation de base. Pour une utilisation spécifique de chaque caractère, vous pouvez vous référer aux articles de la série sur les expressions régulières dans la préface. J'espère que cela pourra aider tout le monde à mieux comprendre l'utilisation 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! Application basée sur l'IA pour créer des photos de nu réalistes Outil d'IA en ligne pour supprimer les vêtements des photos. Images de déshabillage gratuites Dissolvant de vêtements AI Générez AI Hentai gratuitement. Éditeur de code facile à utiliser et gratuit Version chinoise, très simple à utiliser Puissant environnement de développement intégré PHP Outils de développement Web visuel Logiciel d'édition de code au niveau de Dieu (SublimeText3) Cet article expliquera comment améliorer les performances du site Web en analysant les journaux Apache dans le système Debian. 1. Bases de l'analyse du journal APACH LOG enregistre les informations détaillées de toutes les demandes HTTP, y compris l'adresse IP, l'horodatage, l'URL de la demande, la méthode HTTP et le code de réponse. Dans Debian Systems, ces journaux sont généralement situés dans les répertoires /var/log/apache2/access.log et /var/log/apache2/error.log. Comprendre la structure du journal est la première étape d'une analyse efficace. 2. Python excelle dans les jeux et le développement de l'interface graphique. 1) Le développement de jeux utilise Pygame, fournissant des fonctions de dessin, audio et d'autres fonctions, qui conviennent à la création de jeux 2D. 2) Le développement de l'interface graphique peut choisir Tkinter ou Pyqt. Tkinter est simple et facile à utiliser, PYQT a des fonctions riches et convient au développement professionnel. PHP et Python ont chacun leurs propres avantages et choisissent en fonction des exigences du projet. 1.Php convient au développement Web, en particulier pour le développement rapide et la maintenance des sites Web. 2. Python convient à la science des données, à l'apprentissage automatique et à l'intelligence artificielle, avec syntaxe concise et adaptée aux débutants. Cet article traite de la méthode de détection d'attaque DDOS. Bien qu'aucun cas d'application directe de "Debiansniffer" n'ait été trouvé, les méthodes suivantes ne peuvent être utilisées pour la détection des attaques DDOS: technologie de détection d'attaque DDOS efficace: détection basée sur l'analyse du trafic: identification des attaques DDOS en surveillant des modèles anormaux de trafic réseau, tels que la croissance soudaine du trafic, une surtension dans des connexions sur des ports spécifiques, etc. Par exemple, les scripts Python combinés avec les bibliothèques Pyshark et Colorama peuvent surveiller le trafic réseau en temps réel et émettre des alertes. Détection basée sur l'analyse statistique: en analysant les caractéristiques statistiques du trafic réseau, telles que les données La fonction ReadDir dans le système Debian est un appel système utilisé pour lire le contenu des répertoires et est souvent utilisé dans la programmation C. Cet article expliquera comment intégrer ReadDir avec d'autres outils pour améliorer sa fonctionnalité. Méthode 1: combinant d'abord le programme de langue C et le pipeline, écrivez un programme C pour appeler la fonction readdir et sortir le résultat: # include # include # include # includeIntmain (intargc, char * argv []) {dir * dir; structDirent * entrée; if (argc! = 2) { Cet article vous guidera sur la façon de mettre à jour votre certificat NGINXSSL sur votre système Debian. Étape 1: Installez d'abord CERTBOT, assurez-vous que votre système a des packages CERTBOT et Python3-CERTBOT-NGINX installés. Si ce n'est pas installé, veuillez exécuter la commande suivante: Sudoapt-getUpDaSuDoapt-GetInstallCertBotpyThon3-Certerbot-Nginx Étape 2: Obtenez et configurez le certificat Utilisez la commande Certbot pour obtenir le certificat LETSCRYPT et configure Pour maximiser l'efficacité de l'apprentissage de Python dans un temps limité, vous pouvez utiliser les modules DateTime, Time et Schedule de Python. 1. Le module DateTime est utilisé pour enregistrer et planifier le temps d'apprentissage. 2. Le module de temps aide à définir l'étude et le temps de repos. 3. Le module de planification organise automatiquement des tâches d'apprentissage hebdomadaires. La configuration d'un serveur HTTPS sur un système Debian implique plusieurs étapes, notamment l'installation du logiciel nécessaire, la génération d'un certificat SSL et la configuration d'un serveur Web (tel qu'Apache ou Nginx) pour utiliser un certificat SSL. Voici un guide de base, en supposant que vous utilisez un serveur Apacheweb. 1. Installez d'abord le logiciel nécessaire, assurez-vous que votre système est à jour et installez Apache et OpenSSL: SudoaptupDaSuDoaptupgradeSudoaptinsta |