(Python) Remarques sur la lecture de HTML et l'utilisation d'expressions régulières

Lors de l'application d'une expression régulière à un fichier HTML en Python Je l'ai utilisé dans l'encodage et à d'autres endroits, je vais donc le laisser comme mémo.

I. Lecture de fichiers HTML

Utilisez la bibliothèque de codecs. Parce que c'est une bibliothèque Python standard(Appx. 1), Il ne peut être utilisé que par importation sans installation.



import codecs f = codecs.open("hoge.html","r", encoding="utf-8")

### Mise en garde
 - Assurez-vous de spécifier l'argument ```encoding``` pour la fonction codecs.open.
 - Sous l'environnement Windows, il semble que vous ne puissiez rien lire d'autre que les fichiers spécifiés comme Shift-JIS. Il y avait un prédécesseur lorsque je soutenais (App x. 2).

## II. Appliquer des expressions régulières


#### **`Utilisons la bibliothèque re. C'est aussi une bibliothèque standard(Appx. 1)Il ne peut donc être utilisé que par importation.`**
``` 1)Il ne peut donc être utilisé que par importation.


(Suite du chapitre précédent)

import re str = f.read() regex = '[abc]' sample = re.findall(regex, str)

### Mise en garde
 - Assurez-vous d'utiliser la fonction `` `` codecs.read () '' avant de passer le fichier html lu dans le chapitre précédent à chaque fonction de `` re```.

### Expression régulière typique

 Ce qui suit est une liste de fonctions qui semblent être très polyvalentes en tant que fonctions de `` re '' de Appx.3. On suppose que `` `` regex``` contient une expression régulière.

 - Recherche avant: `` `` re.search (regex, chaîne) `` ``
 - Vérifie si le modèle regex est dans une chaîne et renvoie la chaîne (= regex) si elle existe
 - Si la recherche échoue, None est renvoyé, donc vous pouvez facilement l'utiliser pour le branchement conditionnel avec, par exemple, ```if pas re.search (regex, string): `` `.
 --Rechercher tout: `` re.findall (regex, chaîne) `` ``
 - Vérifie si le modèle regex est dans la chaîne et renvoie une liste contenant toutes les correspondances
 --Si vous souhaitez effectuer un autre processus re à partir de cette fonction, utilisez la fonction str (pour en faire une chaîne de caractères) pour en faire une chaîne de caractères (App x. 4).
 --Replacement: `` `` re.sub (regex, replace, string, count = 0) `` ``
 --Vérifiez si le modèle regex est dans la chaîne et remplacez-le par replace
 --Si vous entrez un nombre naturel de 1 ou plus dans count, vous pouvez spécifier combien de fois remplacer la partie regex correspondante depuis le début de la chaîne. Si la valeur par défaut est 0, remplacez toutes les pièces
 ――Je me demandais, "Comment exprimez-vous la recherche globale (` `/ g```) en Python lors de l'écriture d'expressions régulières en JavaScript etc.?", Mais apparemment, cet état count = 0 Il semble être exprimé par (App x. 5)

 L'expression régulière elle-même est détaillée dans App x.6.

 (c'est tout)

## Référence (Annexe / Appx.)
 ―― 1. [Bibliothèque standard Python](https://docs.python.org/ja/3/library/index.html)
 ―― 2. [Une histoire de difficultés à ouvrir un fichier autre que CP932 (Shift-JIS) encodé sous Windows](https://qiita.com/Yuu94/items/9ffdfcb2c26d6b33792e)
 --3 [re --- Opération d'expression régulière](https://docs.python.org/ja/3/library/re.html)
- 4. [re.sub erroring with “Expected string or bytes-like object”](https://stackoverflow.com/questions/43727583/re-sub-erroring-with-expected-string-or-bytes-like-object)
- 5. [Python RegExp global flag
](https://stackoverflow.com/questions/11686516/python-regexp-global-flag)
 --6 [Liste des expressions régulières de base](https://murashun.jp/blog/20190215-01.html)
 ――Je l'utilise toujours pour rechercher des expressions régulières.


Recommended Posts

(Python) Remarques sur la lecture de HTML et l'utilisation d'expressions régulières
Notes sur l'expression régulière de la théorie Python
mémo d'expression régulière python
Expression régulière en Python
Manipulation d'expressions régulières par Python
À propos de Python et des expressions régulières
Apprenez les bases et les astuces des expressions canoniques Python à partir de zéro
Notes sur la lecture et l'écriture d'images TIFF float32 avec python
Notes sur Python et les types de dictionnaire
Afficher les photos en Python et html
Remplacement de chaîne par une expression régulière Python
Lecture et écriture de fichiers CSV Python
Lire et écrire NetCDF avec Python
Lire et écrire du CSV avec Python
(Notes personnelles) Métaclasses et métaprogrammation Python
Lire et écrire du texte en Python
l'expression régulière de python, str et unicode sont sobres et addictives
Chevauchement d'expressions régulières en Python et Java
Notes utilisant cChardet et python3-chardet dans Python 3.3.1.
Match de début / fin dans l'expression régulière python
Lire et écrire des fichiers JSON avec Python
[python] Lisez le fichier html et entraînez-vous au scraping
Vérification et extraction de correspondance d'URL avec l'expression régulière Python Regex Version complète
Résolution avec Ruby, Perl, Java et Python AtCoder ABC 047 C Expression régulière
Lisez le fichier avec python et supprimez les sauts de ligne [Notes sur la lecture du fichier]
Note d'apprentissage Python_000
Notes d'apprentissage Python
Remarques sur l'installation de Python3 et l'utilisation de pip sous Windows7
Expression régulière gourmande
Notes de débutant Python
Étude à partir de Python Lecture et écriture de fichiers Hour9
Recevoir et afficher les données de formulaire HTML en Python
Note d'apprentissage Python_006
notes de python C ++
[Python] Expressions régulières Expressions régulières
Note d'apprentissage Python_005
Notes de grammaire Python
Note sur la bibliothèque Python
La lecture et l'écriture s'adaptent aux fichiers avec Python (mémo)
notes personnelles python
Nom de groupe symbolique d'expression régulière en Python / Ruby
mémo pandas python
Note d'apprentissage Python_001
notes d'apprentissage python
Expression régulière re
Notes d'installation de Python3.4
Exemple de lecture et d'écriture de CSV avec Python
[Python] AGC043A (problème de lecture et de DP) [At Coder]
Lecture de texte Python pour plusieurs lignes et une ligne
Remarques sur le traitement d'images HDR et RAW avec Python
expression canonique python ou mémo d'objet correspondant
Chargement / affichage et accélération de gif avec python [OpenCV]
[python] Compresser et décompresser
Expression régulière dans regex.h
Astuces Python et Numpy
Récupérez la chaîne correspondante dans l'expression régulière et réutilisez-la lors du remplacement sur Python3
[Python] pip et roue
notes personnelles en python manquantes
[Note] Lecture de fichier ~ Python ~