Maison  >  Article  >  développement back-end  >  Comment utiliser re.findAll(), re.sub() et set() en Python

Comment utiliser re.findAll(), re.sub() et set() en Python

王林
王林avant
2023-05-16 10:19:051080parcourir

1. re.findall()

re.findall() : La fonction renvoie une liste contenant toutes les correspondances. Renvoie toutes les chaînes correspondant au modèle dans la chaîne, sous forme de liste/tableau.

Comment utiliser re.findAll(), re.sub() et set() en Python

Il ressort du code du prototype de la fonction que la fonction findall() a trois paramètres :

1 motif : la "chaîne de modèle" dans l'expression régulière

2. traité (trouver Remplacer);

3. flags : paramètre facultatif, indiquant le mode de correspondance utilisé lors de la compilation (comme ignorer la casse, le mode multi-ligne, etc.), sous forme numérique, la valeur par défaut est 0

# 示例代码
import re
text1 = '北京市海淀区不存在的38街区不想工作大厦99号'
res = re.findall(r'\d+', text1)
print(type(res))
print(res)
# output
# <class &#39;list&#39;>
# [&#39;38&#39;, &#39;99&#39;]

2. re.sub ()

re.sub() : La fonction remplace toutes les correspondances par le texte sélectionné et renvoie le résultat.

Comment utiliser re.findAll(), re.sub() et set() en Python

Il ressort du code du prototype de la fonction que la fonction re.sub() a cinq paramètres :

1. pattern : la "chaîne de modèle" dans l'expression régulière

2. être remplacé par une chaîne, c'est-à-dire remplacer le modèle correspondant par repl ; cela peut être une fonction

3 : la chaîne d'origine qui doit actuellement être traitée (rechercher et remplacer) ; paramètre, indiquant ce qui doit être remplacé Le nombre maximum de fois doit être un entier non négatif ; la valeur par défaut est 0, c'est-à-dire que toutes les sous-chaînes correspondantes sont remplacées

5 flags : paramètre facultatif, indiquant le mode de correspondance utilisé ; lors de la compilation (comme ignorer la casse, le mode multiligne, etc.), sous forme numérique, la valeur par défaut est 0

# 将所有匹配到的‘数字串&#39; 替换为 &#39;520‘
text1 = &#39;北京市海淀区不存在的38街区不想工作大厦99号&#39;
res = re.re(r&#39;\d+&#39;, 520)
print(type(res))
print(res)
# output,返回值res结果是str
# <class &#39;str&#39;>
# 北京市海淀区不存在的520街区不想工作大厦520号

3 set()

set() : L'une des fonctions intégrées de Python, crée un fichier non ordonné. ensemble d’éléments non répétitifs. Prend en charge le calcul de l'intersection, de la différence et de l'union.

# 为list数组l1 去重
l1 = [1, 1, 2, 2, 2, 3, 4]
s1 = set(l1)
print(type(s1))
print(s1)
# output,返回类型是 set
# <class &#39;set&#39;>
# {1, 2, 3, 4}
# 计算l1 和 l2 的交集
l1 = [1, 1, 2, 2, 2, 3, 4]
l2 = [2, 3, 3, 4, 5, 6, 6]
s1 = set(l1)
s2 = set(l2)
u = s1 & s2
print(type(u))
print(u)
# output,返回结果类型set
# <class &#39;set&#39;>
# {2, 3, 4}
# 计算l1 和 l2 的并集, 并集符号 ‘|&#39;,intersection
l1 = [1, 1, 2, 2, 2, 3, 4]
l2 = [2, 3, 3, 4, 5, 6, 6]
s1 = set(l1) # {1, 2, 3, 4}
s2 = set(l2) # {2, 3, 4, 5, 6}
u = s1 | s2
print(type(u))
print(u)
# output,返回结果类型set, 计算 {1, 2, 3, 4} 和 {2, 3, 4, 5, 6} 的并集
# <class &#39;set&#39;>
# {1, 2, 3, 4, 5, 6}
# 计算差集,diff
l1 = [1, 1, 2, 2, 2, 3, 4]
l2 = [2, 3, 3, 4, 5, 6, 6]
s1 = set(l1) # {1, 2, 3, 4}
s2 = set(l2) # {2, 3, 4, 5, 6}
print(s2)
u = s1 - s2
print(type(u))
print(u)
# output,返回结果是set
# <class &#39;set&#39;>
# {1}
# set内也可以传入字符串,会自动转换成list类型
text1 = &#39;北京市海淀区海淀区不想上班不想上班&#39;
res = set(text1)
print(res) # 内部元素是一个个的字,去重 且 无序
# output
# <class &#39;set&#39;>
# {&#39;上&#39;, &#39;北&#39;, &#39;班&#39;, &#39;海&#39;, &#39;淀&#39;, &#39;京&#39;, &#39;不&#39;, &#39;想&#39;, &#39;区&#39;, &#39;市&#39;}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer