À propos de Python et des expressions régulières

Notez ce que vous pourriez utiliser souvent à propos des expressions régulières.

· Mac ・ Python


Contenu du mémo
① "." Un caractère (y compris les nombres) autre que les sauts de ligne (2) match est une fonction qui détermine si la correspondance doit être établie depuis le début. Si elle correspond, elle renvoie un objet de correspondance (une collection d'expressions régulières), et si elle ne correspond pas, elle renvoie NONE. ③ la recherche est une fonction qui détermine s'il y a ou non une correspondance au milieu. S'il y a deux emplacements, ne renvoyez que le premier. Renvoie un objet de correspondance s'il y a correspondance, NONE s'il n'y a pas de correspondance. ④ split est une fonction qui se divise par le caractère spécifié et la valeur de retour est un type de liste. ⑤ findall est une fonction qui renvoie ** tous ** des caractères spécifiés, et la valeur de retour est un type de liste.

(1) Exemple

import re

text1 = 'abcde'
text2 = 'a'
text3 = '1234'
text4 = 'a1234'
text5 = 'a1234a567'
text6 = 'L'adresse est 123-3456 Chuo-ku, Tokyo 999-9999'
text7 = '〒123-1234 Chuo-ku, Tokyo 999-9999'
text8 = '9999999, Chuo-ku, Tokyo 1231234'
text9 = '〒123-1234:Tokyo:Chuo-ku 999-9999'
text10 = '〒123-1234 Chuo-ku, Tokyo:999-9999'

(2) Contenu d'exécution

① Lorsque text1 = 'abcde'

print(re.match('.',text1))
print(re.match('abc',text1))
print(re.match('abc$',text1))
print(re.match('\d\d',text1))

Résultat d'exécution

<re.Match object; span=(0, 1), match='a'>
<re.Match object; span=(0, 3), match='abc'>
None
None

② Lorsque text2 = 'a'

print(re.match('.',text2))
print(re.match('abc',text2))
print(re.match('abc$',text2))
print(re.match('\d\d',text2))

Résultat d'exécution

<re.Match object; span=(0, 1), match='a'>
None
None
None

③ Lorsque text3 = '1234'

print(re.match('.',text3))
print(re.match('abc',text3))
print(re.match('abc$',text3))
print(re.match('\d\d',text3))

Résultat d'exécution

<re.Match object; span=(0, 1), match='1'>
None
None
<re.Match object; span=(0, 2), match='12'>

④ Lorsque text4 = 'a1234'

print(re.match('.',text4))
print(re.match('abc',text4))
print(re.match('abc$',text4))
print(re.match('\d\d',text4))

Résultat d'exécution

<re.Match object; span=(0, 1), match='a'>
None
None
None

⑤ Lorsque text5 = 'a1234a567'

print(re.match('\d{2}',text5))
print(re.search('\d{2}',text5))

Résultat d'exécution

None
<re.Match object; span=(1, 3), match='12'>

⑥ text6 = 'L'adresse est 123-3456 999-9999, Chuo-ku, Tokyo'

print(re.match('\d{2}',text6))
print(re.search('\d{2}',text6))
print(re.match('\d{3}-\d{4}',text6))
print(re.search('\d{3}-\d{4}',text6))
print(re.search('.\d{3}-\d{4}',text6))

Résultat d'exécution

None
<re.Match object; span=(3, 5), match='12'>
None
<re.Match object; span=(3, 11), match='123-3456'>
<re.Match object; span=(2, 11), match='123-3456'>

⑦ Dans le cas de text7 = '999-9999, Chuo-ku, Tokyo 123-1234

print(re.match('\d{3}-\d{4}',text7))
print(re.search('\d{3}-\d{4}',text7))
print(re.search('.\d{3}-\d{4}',text7))
print(re.findall('\d{3}-\d{4}',text7))
print(re.findall('\d{3}\d{4}',text7))
print(re.findall('.\d{3}-\d{4}',text7))

Résultat d'exécution

None
<re.Match object; span=(1, 9), match='123-1234'>
<re.Match object; span=(0, 9), match='〒123-1234'>
['123-1234', '999-9999']
[]
['〒123-1234', 'Quartier 999-9999']

⑧ text8 = 'Dans le cas de' 9999999, Chuo-ku, Tokyo 1231234 '

print(re.findall('\d{3}\d{4}',text8))

Résultat d'exécution

['1231234', '9999999']

⑨ text9 = '〒123-1234: Tokyo: Chuo-ku 999-9999'

print(re.split('[:]',text9))

Résultat d'exécution

['〒123-1234', 'Tokyo', 'Chuo-ku 999-9999']

⑩ text10 = '〒123-1234 Chuo-ku, Tokyo: 999-9999'

print(re.split('[,]',text9))

Résultat d'exécution

['〒123-1234:Tokyo:Chuo-ku 999-9999']

Recommended Posts

À propos de Python et des expressions régulières
[Python] Expressions régulières Expressions régulières
Chevauchement d'expressions régulières en Python et Java
À propos des objets et des classes Python
À propos des variables et des objets Python
À propos de Python, len () et randint ()
À propos de la date et du fuseau horaire Python
À propos des opérations Python et OS
Python # À propos de la référence et de la copie
À propos de Python sort () et reverse ()
À propos de _ et __
Inclusions de tapple Python et expressions de générateur
À propos de l'installation des séries Pwntools et Python2
Je ne me souviens pas des expressions régulières Python
À propos de Python dict et des fonctions triées
À propos de Python et Cython dtype
A propos des modules Python Primer et des expressions conditionnelles
À propos de Python Pickle (cPickle) et Marshal
[Python] À propos des classes Executor et Future
À propos de Python, à partir et à l'importation, comme
Gestion des expressions régulières par PHP / Python
Lors de l'utilisation d'expressions régulières en Python
Débarrassez-vous des données sales avec Python et les expressions régulières
À propos de la notation d'inclusion de python
À propos de Python tqdm.
À propos du rendement Python
Expressions régulières faciles et solides à apprendre en Python
Notation inclusive de Python (à propos de l'expression de liste et de générateur) [supplémentaire]
À propos de l'héritage Python
À propos des expressions de signal, de connexion et de lambda de PyQt
À propos de python, range ()
(Python) Remarques sur la lecture de HTML et l'utilisation d'expressions régulières
À propos de Python Decorator
À propos de la référence Python
Comment utiliser les expressions régulières en Python
À propos des décorateurs Python
[Python] À propos du multi-processus
Python: analyse morphologique simplifiée avec des expressions régulières
Parler d'anciennes et de nouvelles classes en Python
Parler des attributs de classe Python et des métaclasses
[Python] Quand, où, qui et quel jeu en utilisant des expressions régulières
Un chercheur d'une société pharmaceutique a résumé les expressions canoniques en Python
Pandas Python: recherchez DataFrame à l'aide d'expressions régulières
Pensez aux recherches de priorité de profondeur et de priorité de largeur en Python
À propos de la différence entre "==" et "is" en python
[Python] Débarrassez-vous de la datation avec des expressions régulières
Une histoire sur la modification de Python et l'ajout de fonctions
[Python] En savoir plus sur la programmation asynchrone et les boucles d'événements
À propos des copies superficielles et profondes de Python / Ruby
[python] Compresser et décompresser
À propos de Python for loop
À propos de la classe et de l'instance
À propos des arguments de fonction (python)
Astuces Python et Numpy
[Python] pip et roue
Itérateur et générateur Python
J'ai comparé la vitesse des expressions régulières en Ruby, Python et Perl (version 2013)
Paquets et modules Python