Über Python und reguläre Ausdrücke

Notieren Sie sich, was Sie häufig für reguläre Ausdrücke verwenden.

· Mac ・ Python


Memo-Inhalt
① "." Ist ein anderes Zeichen (einschließlich Zahlen) als Zeilenumbrüche (2) match ist eine Funktion, die bestimmt, ob von Anfang an eine Übereinstimmung erzielt werden soll. Wenn sie übereinstimmt, gibt sie ein Übereinstimmungsobjekt (eine Sammlung regulärer Ausdrücke) zurück, und wenn sie nicht übereinstimmt, gibt sie NONE zurück. ③ Suche ist eine Funktion, die bestimmt, ob in der Mitte eine Übereinstimmung vorliegt oder nicht. Wenn zwei Standorte vorhanden sind, geben Sie nur den ersten zurück. Gibt ein Übereinstimmungsobjekt zurück, wenn eine Übereinstimmung vorliegt, KEINE, wenn keine Übereinstimmung vorliegt. ④ split ist eine Funktion, die durch das angegebene Zeichen geteilt wird, und der Rückgabewert ist ein Listentyp. ⑤ findall ist eine Funktion, die ** alle ** angegebenen Zeichen zurückgibt, und der Rückgabewert ist ein Listentyp.

(1) Beispiel

import re

text1 = 'abcde'
text2 = 'a'
text3 = '1234'
text4 = 'a1234'
text5 = 'a1234a567'
text6 = 'Die Adresse lautet 123-3456 Chuo-ku, Tokio 999-9999'
text7 = '〒123-1234 Chuo-ku, Tokio 999-9999'
text8 = '9999999, Chuo-ku, Tokio 1231234'
text9 = '〒123-1234:Tokio:Chuo-ku 999-9999'
text10 = '〒123-1234 Chuo-ku, Tokio:999-9999'

(2) Ausführungsinhalt

① Wenn text1 = 'abcde'

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

Ausführungsergebnis

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

② Wenn text2 = 'a'

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

Ausführungsergebnis

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

③ Wenn text3 = '1234'

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

Ausführungsergebnis

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

④ Wenn text4 = 'a1234'

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

Ausführungsergebnis

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

⑤ Wenn text5 = 'a1234a567'

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

Ausführungsergebnis

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

⑥ text6 = 'Adresse ist 123-3456 999-9999, Chuo-ku, Tokio'

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))

Ausführungsergebnis

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'>

⑦ Im Fall von text7 = '999-9999, Chuo-ku, Tokio 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))

Ausführungsergebnis

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', 'Ward 999-9999']

⑧ text8 = 'Im Fall von' 9999999, Chuo-ku, Tokio 1231234 '

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

Ausführungsergebnis

['1231234', '9999999']

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

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

Ausführungsergebnis

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

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

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

Ausführungsergebnis

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

Recommended Posts

Über Python und reguläre Ausdrücke
[Python] Reguläre Ausdrücke Reguläre Ausdrücke
Überlappende reguläre Ausdrücke in Python und Java
Informationen zu Python-Objekten und -Klassen
Informationen zu Python-Variablen und -Objekten
Über Python, len () und randint ()
Informationen zu Python-Datums- und Zeitzone
Informationen zu Python- und Betriebssystemoperationen
Python # Über Referenz und Kopie
Über Python sort () und reverse ()
Über _ und __
Python-Tapple-Einschlüsse und Generatorausdrücke
Informationen zur Installation der Serien Pwntools und Python2
Ich kann mich nicht an reguläre Python-Ausdrücke erinnern
Über Python-Diktat und sortierte Funktionen
Über Python und Cython dtype
Informationen zu Python Primer-Modulen und bedingten Ausdrücken
Über Python Pickle (cPickle) und Marschall
[Python] Über Executor und zukünftige Klassen
Über Python, aus und importieren, als
Umgang mit regulären Ausdrücken durch PHP / Python
Bei Verwendung regulärer Ausdrücke in Python
Befreien Sie sich mit Python und regulären Ausdrücken von schmutzigen Daten
Über die Einschlussnotation von Python
Über Python tqdm.
Über die Python-Ausbeute
Reguläre Ausdrücke, die in Python leicht und solide zu erlernen sind
Inklusive Notation von Python (über Liste und Generatorausdruck) [zusätzlich]
Informationen zur Python-Vererbung
Informationen zu PyQts Signal-, Verbindungs- und Lambda-Ausdrücken
Über Python, range ()
(Python) Hinweise zum Lesen von HTML und zur Verwendung regulärer Ausdrücke
Über Python Decorator
Informationen zur Python-Referenz
Verwendung regulärer Ausdrücke in Python
Über Python-Dekorateure
[Python] Über Multi-Prozess
Python: Vereinfachte morphologische Analyse mit regulären Ausdrücken
Apropos alte und neue Klassen in Python
Apropos Python-Klassenattribute und Metaklassen
[Python] Wann, wo, wer und welches Spiel mit regulären Ausdrücken
Ein Forscher eines Pharmaunternehmens fasste die kanonischen Ausdrücke in Python zusammen
Python-Pandas: Suchen Sie mit regulären Ausdrücken nach DataFrame
Denken Sie an Suchvorgänge mit Tiefenpriorität und Breitenpriorität in Python
Über den Unterschied zwischen "==" und "is" in Python
[Python] Werden Sie die Datierung mit regulären Ausdrücken los
Eine Geschichte über das Ändern von Python und das Hinzufügen von Funktionen
[Python] Erfahren Sie mehr über asynchrone Programmierung und Ereignisschleifen
Über flache und tiefe Kopien von Python / Ruby
[Python] Komprimieren und dekomprimieren
Über Python für Schleife
Über Klasse und Instanz
Über Funktionsargumente (Python)
Python- und Numpy-Tipps
[Python] Pip und Wheel
Python Iterator und Generator
Ich habe die Geschwindigkeit regulärer Ausdrücke in Ruby, Python und Perl (Version 2013) verglichen.
Python-Pakete und -Module