mémo d'expression régulière python

introduction

import re

Chaîne brute

Le préfixe d'un littéral de chaîne avec r désactive la séquence d'échappement pour cette chaîne. (Quelque chose comme @ "~" en C #)

"C:¥¥My Document¥¥fire¥¥test.txt"

À

r"C:¥My Document¥fire¥test.txt"

Peut être écrit.

Il semble que r soit capital.

R"C:¥My Document¥fire¥test.txt"

Rencontre

import re

m = re.match(r"FIRE[0-9]+", "FIRE123")

if m:
	print("apparié")
else:
	print("Pas adapté")

En plus de la méthode de correspondance, il existe également une méthode de recherche. La méthode match vérifie si elle correspond en premier et la méthode de recherche regarde si elle correspond au milieu de la chaîne.

m = re.match(r"FIRE[0-9]+", "Python FIRE123")     #Ne correspondent pas
m = re.search(r"FIRE[0-9]+", "Python FIRE123")    #rencontre

Obtenez la chaîne correspondante

m = re.search(r"([a-z]+)\s*=\s*([0-9]+)", "index = 123")

if m:
	print(m.group(0))                # ->  "index = 123"
	print(m.group(1))                # ->  "index"
	print(m.group(2))                # ->  "123"

Le groupe nommé est (? P ...)

m = re.search(r"(?P<name>[a-z]+)\s*=\s*(?P<value>[0-9]+)", "index = 123")

if m:
	print(m.group(0))                # ->  "index = 123"
	print(m.group(1))                # ->  "index"
	print(m.group(2))                # ->  "123"
	print(m.group('name'))           # ->  "index"
	print(m.group('value'))          # ->  "123"

Obtenez la position correspondante

m = re.match(r"abc([0-9]+).([0-9]+)", "abc123.456")

#---Match complet
print(m.start())                # -> 0
print(m.end())                  # ->10 * end est la prochaine position correspondante (index)+La valeur 1) est renvoyée
print(m.span())                 # -> (0, 10)Renvoie le début et la fin sous forme de taple

#---Groupe 1
print(m.start(1))               # -> 3
print(m.end(1))                 # -> 6
print(m.span(1))                # -> (3, 6)


#---Groupe 2
print(m.start(2))               # -> 7
print(m.end(2))                 # -> 10
print(m.span(2))                # -> (7, 10)

Compiler des expressions régulières

reg = re.compile(r"ABC([0-9]+)")

m = reg.match("ABC888")
print(m.group(1))               # -> "888"

Renvoie toutes les correspondances uniques dans une liste de chaînes

match_list = re.findall(r'([0-9]+)', "123a456b789")
print(match_list)               # -> ['123', '456', '789']

Recommended Posts

mémo d'expression régulière python
Expression régulière en Python
Mémo Python
mémo python
Notes sur l'expression régulière de la théorie Python
Mémo Python
mémo python
Mémo Python
Manipulation d'expressions régulières par Python
Mémo Python
expression canonique python ou mémo d'objet correspondant
Remplacement de chaîne par une expression régulière Python
mémo débutant python (9.2-10)
Expression régulière gourmande
mémo débutant python (9.1)
★ Mémo ★ Python Iroha
[Python] Expressions régulières Expressions régulières
[Python] Mémo EDA
Mémo opérateur Python 3
mémo d'expression lambda
[Mon mémo] python
Mémo de métaclasse Python3
[Python] Mémo de fond de carte
Mémo de représentation récursive
Mémo débutant Python (2)
Expression régulière re
[Python] Mémo Numpy
(Python) Remarques sur la lecture de HTML et l'utilisation d'expressions régulières
Classe Python (mémo d'apprentissage Python ⑦)
Expression régulière dans regex.h
installation de python openCV (mémo)
Module Python (mémo d'apprentissage Python ④)
Mémo de visualisation par Python
expression lambda de python ...
Mémo du package de test Python
[Python] Mémo sur les fonctions
Expression régulière en pymongo
Expression régulière de la notation de date
Recherche de bisection (python2.7) mémo
Méthode de correspondance d'expression régulière
[Mon mémo] python -v / python -V
Mémo de type Liste / Dictionnaire Python3
[Mémo] Tri de liste Python3
Astuces Python (mon mémo)
[Python] Mémo sur les erreurs
Mémo de script DynamoDB (Python)
Mémo de base Python - Partie 2
livre de recettes python Memo
Notes de commande de base Python
Mémo du didacticiel Python OpenCV
Mémo de grammaire de base Python
Mémo de l'API TensorFlow (Python)
Nom de groupe symbolique d'expression régulière en Python / Ruby
liens de mémo utiles python
Mémo d'opération de décorateur Python
Mémo de base Python - Partie 1
Élément de mémo Python efficace 3
Quiz de confirmation d'expression régulière!