jeu de caractères

D'accord, à travers les exemples ci-dessus, nous avons une compréhension préliminaire des expressions régulières de Python. Vous vous demandez peut-être quelles sont les règles des expressions régulières et que signifient les lettres ?

En fait, il n'y a pas lieu de s'inquiéter à ce sujet. La liste correspondante des règles d'expression régulière sera donnée plus loin dans ce chapitre, et ces éléments peuvent être facilement trouvés sur Google sur Internet. Alors maintenant, nous allons approfondir davantage notre compréhension des expressions régulières et parler du jeu de caractères des expressions régulières.

Le jeu de caractères est un ensemble de caractères entourés d'une paire de crochets "[]". À l’aide d’un jeu de caractères, vous pouvez faire correspondre l’un de plusieurs caractères.

Par exemple, si vous utilisez C[ET]O pour correspondre au PDG ou au CTO, c'est-à-dire que [ET] représente un E ou un T. Comme le [a-z] mentionné ci-dessus, il s'agit d'une de toutes les lettres minuscules. Le trait d'union "-" est utilisé ici pour définir une plage de caractères consécutifs. Bien sûr, une telle écriture peut contenir plusieurs plages de caractères, telles que : [0-9a-fA-F], qui correspond à un seul nombre hexadécimal et n'est pas sensible à la casse. Notez que l'ordre des définitions de caractères et de plages n'a aucun impact sur les résultats de correspondance.

En fait, j'ai tellement dit, je veux juste prouver que la relation de caractère entre une paire de crochets "[]" dans un jeu de caractères est une relation ou Regardons un exemple :

import re
a = 'uav,ubv,ucv,uwv,uzv,ucv,uov'
# 字符集
# 取 u 和 v 中间是 a 或 b 或 c 的字符
findall = re.findall('u[abc]v', a)
print(findall)
# 如果是连续的字母,数字可以使用 - 来代替
l = re.findall('u[a-c]v', a)
print(l)
# 取 u 和 v 中间不是 a 或 b 或 c 的字符
re_findall = re.findall('u[^abc]v', a)
print(re_findall)
输出的结果:
['uav', 'ubv', 'ucv', 'ucv']
['uav', 'ubv', 'ucv', 'ucv']
['uwv', 'uzv', 'uov']

. Dans l'exemple, le jeu de caractères nié est utilisé. Autrement dit, si le crochet gauche "[" est suivi d'un crochet angulaire "^", le jeu de caractères sera inversé. Une chose à retenir est que le jeu de caractères annulé doit correspondre à un seul caractère. Par exemple : q[^u] ne signifie pas : correspondre à un q sans que vous le suiviez. Cela signifie : faire correspondre un q suivi d'un caractère qui n'est pas u. Les détails peuvent être compris en comparant les résultats de sortie dans l'exemple ci-dessus.

Nous savons tous que les expressions régulières elles-mêmes définissent certaines règles, comme d, qui correspond à tous les caractères numériques. En fait, cela équivaut à [0-9]. Un exemple est également écrit ci-dessous, l'expliquant sous la forme d'un. jeu de caractères.

import re
a = 'uav_ubv_ucv_uwv_uzv_ucv_uov&123-456-789'
# 概括字符集
# \d 相当于 [0-9] ,匹配所有数字字符
# \D 相当于 [^0-9] , 匹配所有非数字字符
findall1 = re.findall('\d', a)
findall2 = re.findall('[0-9]', a)
findall3 = re.findall('\D', a)
findall4 = re.findall('[^0-9]', a)
print(findall1)
print(findall2)
print(findall3)
print(findall4)
# \w 匹配包括下划线的任何单词字符,等价于 [A-Za-z0-9_]
findall5 = re.findall('\w', a)
findall6 = re.findall('[A-Za-z0-9_]', a)
print(findall5)
print(findall6)

Résultat de sortie :

['1', '2', '3', '4', '5', '6', '7', '8', '9']
['1', '2', '3', '4', '5', '6', '7', '8', '9']
['u', 'a', 'v', '_', 'u', 'b', 'v', '_', 'u', 'c', 'v', '_', 'u', 'w', 'v', '_', 'u', 'z', 'v', '_', 'u', 'c', 'v', '_', 'u', 'o', 'v', '&', '-', '-']
['u', 'a', 'v', '_', 'u', 'b', 'v', '_', 'u', 'c', 'v', '_', 'u', 'w', 'v', '_', 'u', 'z', 'v', '_', 'u', 'c', 'v', '_', 'u', 'o', 'v', '&', '-', '-']
['u', 'a', 'v', '_', 'u', 'b', 'v', '_', 'u', 'c', 'v', '_', 'u', 'w', 'v', '_', 'u', 'z', 'v', '_', 'u', 'c', 'v', '_', 'u', 'o', 'v', '1', '2', '3', '4', '5', '6', '7', '8', '9']
['u', 'a', 'v', '_', 'u', 'b', 'v', '_', 'u', 'c', 'v', '_', 'u', 'w', 'v', '_', 'u', 'z', 'v', '_', 'u', 'c', 'v', '_


Formation continue
  • Recommandations de cours
  • Téléchargement du didacticiel