Notes d' étude personnelle
site vidéo: https://www.bilibili.com/video/av9784617?p=39
① expressions régulières 1
Photos de: parquez un blog blogger ...
② Re bibliothèque
A. Expression régulière indique le type de
- type de chaîne brute (chaîne de type natif)
re bibliothèque d'expression en utilisant le type de chaîne brute expression régulière, exprimée:
r'text'
Par exemple: lar'[1-9]\d{5}
chaîne brute est une chaîne qui ne contient pas de fuite - type de chaîne
Nous devons utiliser les caractères spéciaux d'échappement
tels que:'[1-9]\\d{5}'
'\\d{3}-\\d{8}|\\d{4}-\\d{7}'
II. La fonction principale de la fonction bibliothèque Re
fonction | explication |
---|---|
recherche() | Dans la recherche d'une chaîne correspondante dans la première position de l'expression régulière, retourne l'objet match |
re.match () | Faites correspondre l'expression régulière de la position de début d'une chaîne de caractères, les retours correspondent objet |
re.findall () | La chaîne de recherche, retourner un type de liste peut correspondre à tous les sous-chaînes de |
re.split () | La chaîne est divisée conformément à un résultat de mise en correspondance d'expression régulière, retourne une liste de types |
re.finditer () | Chaîne de recherche, le retour d'un résultat de mise en correspondance du type itératif, chaque élément est un objet de correspondance itération |
re.sub () | Chaîne remplace toutes les sous-chaîne correspond à l'expression régulière dans une chaîne, après le remplacement des retours |
2,1 re.search (motif, chaîne, drapeaux = 0)
- Dans une recherche de la chaîne correspond à la première expression régulière d'une position, retourne le match d'objet.
- motif: une chaîne ou une représentation de chaîne d'expression régulière de natif
- chaîne: chaîne à faire correspondre
- marque de contrôle utilisant des expressions régulières: drapeaux
marqueurs communs | explication |
---|---|
re.I re.IGNORECASE | Ignorer l'expression régulière insensible à la casse, [AZ] capable de faire correspondre les caractères minuscules |
RE.M re.MULTILINE | Chaque ligne de l'opérateur expression régulière ^ peut être donné comme une chaîne de caractères correspondant au début |
re.S re.DOTALL | Expression régulière. opérateur capable de faire correspondre tous les caractères, par défaut correspond à tous les caractères sauf nouvelle ligne |
match findall, les paramètres de la fonction de recherche est les mêmes paramètres de référence pour rechercher finditer
2,2 re.split (motif, chaîne, maxsplit = 0, drapeaux = 0)
- La chaîne selon une expression régulière correspond à Split, retourne une liste de types.
- motif: une chaîne ou une représentation de chaîne d'expression régulière de natif
- chaîne: chaîne à faire correspondre
- maxsplit: Le nombre maximal de division, la partie restante de la sortie comme le dernier élément
- marque de contrôle utilisant des expressions régulières: drapeaux
2.3 re.sub (modèle, rempl, chaîne, nombre = 0, drapeaux = 0)
- Chaîne remplace toutes les sous-chaîne correspond à l'expression régulière dans une chaîne, après le remplacement des retours
- motif: une chaîne ou une représentation de chaîne d'expression régulière de natif
- Rempl: matchs de chaîne de remplacement de chaîne
- chaîne: chaîne à faire correspondre
- Remettez en place le plus grand nombre de matches: compter
- marque de contrôle utilisant des expressions régulières: drapeaux
2.4 Exemple
import re
# re.search: 在一个字符串中搜索匹配正则表达式的第一个位置
match = re.search(r'[1-9]\d{5}', 'BIT 100032 132103 12043')
if match:
print(match.group(0))
# 结果: 100032
print(match)
# 结果: <re.Match object; span=(4, 10), match='100032'>
# re.match: 从一个字符串的开始位置起匹配正则表达式
# 开始与正则表达式不匹配的话, 则为None
match = re.match(r'[1-9]\d{5}', '123042BIT 100032 132103 12043')
if match:
print(match.group(0))
# 结果: 123042
# re.findall: 搜索字符串, 以列表类型返回全不能匹配的子串
match = re.findall(r'[1-9]\d{5}', '123042BIT 100032 SUV132103 12043')
if match:
print(match)
# 结果: ['123042', '100032', '132103']
# re.split: 将一个字符串按照正则表达式匹配结果进行分割, 返回列表类型.
match = re.split(r'[1-9]\d{5}', '123042BIT 100032 SUV132103 120413')
if match:
print(match)
# 结果:['', 'BIT ', ' SUV', ' ', '']
# 结果分析: 123042符合,则字符串开头开始分割即'',
# 然后就是'BIT ', 100032符合,继续分割, ' SUV'
# 132103符合,分割' ', 120413符合,后面一个''(空字符串)
# maxsplit=1, 只匹配1个, 后面的字符串作为一个元素输出
match = re.split(r'[1-9]\d{5}', '123042BIT 100032 SUV132103 120413', maxsplit=1)
if match:
print(match)
# 结果: ['', 'BIT 100032 SUV132103 120413']
print(re.sub(r'[1-9]\d{5}', ':zipcode', 'BIT102435 TSU104394'))
# 结果: BIT:zipcode TSU:zipcode
2,5 re.compile (motif, drapeaux = 0)
- Compile une chaîne dans une expression régulière objet expression régulière
- motif: une chaîne ou une représentation de chaîne d'expression régulière de natif
- marque de contrôle utilisant des expressions régulières: drapeaux
Utilisation fonctionnelle: opération unique:
rst = re.search(r'[1-9]\d{5}', 'BIS 102384')
équivalent à
utilisation orientée objet: BUILD multiples opérations:
pat = re.compile(r'[1-9]\d{5}')
rst = pat.search('BiS 102384')
Trois. Objets Re match bibliothèque
3.1 Attributs d'objets match
propriété | explication |
---|---|
.chaîne | Texte à apparier |
.ré | modèle correspondant utilisé lorsque l'objet (expressions régulières) |
.pos | Recherche d'expression régulière texte position de départ |
.endpos | Recherche d'expression régulière position de fin de texte |
Méthodes 3.2 objet match
méthode | explication |
---|---|
.group (0) | chaîne de correspondance est obtenue |
.début() | chaîne correspondant à la position de départ de la chaîne d'origine |
.fin() | position de fin de chaîne correspondante de la chaîne d'origine |
.envergure() | Retour (.start (), .end ()) |
4. Match gourmand
Re bibliothèque défaut gourmand en jeu, à savoir la sortie de la plus longue sous-chaîne correspondante
match = re.search(r'PY.*N', 'PYKSJDFNN')
match.group(0)
# 结果: PYKSJDFNN
Comment devenir un match minimum
Les opérateurs | explication |
---|---|
*? | Caractère précédent 0 fois ou un nombre illimité d'extensions, le match minimum |
+? | 1 caractère précédent ou l'extension illimitée, le match minimum |
?? | caractère précédent poste 0 ou 1, la mise en correspondance minimum |
{M, n}? | Un caractère d'extension avant m à n fois (y compris n), l'adaptation d'au moins |
[Extensions]
Python Reptile atteindre les prix des matières premières Taobao rampants - demande + re
Voir la mise en œuvre spécifique: [apprentissage] Python Reptile sept prix des matières premières Taobao ramper (ramper succès)