Maison >développement back-end >Tutoriel Python >Explication détaillée de la façon d'améliorer l'efficacité de la compilation d'expressions régulières en python

Explication détaillée de la façon d'améliorer l'efficacité de la compilation d'expressions régulières en python

巴扎黑
巴扎黑original
2017-09-26 10:39:483829parcourir

Python est un langage sympa car vous pouvez faire beaucoup de choses avec très peu de code en peu de temps. Couplé avec des expressions régulières, son effet peut être mieux reflété. L'article suivant vous le présente principalement. des informations connexes sur l'amélioration de l'efficacité en précompilant des expressions régulières en python. Les amis dans le besoin peuvent s'y référer.

Préface

Dans le module d'expression régulière de re, les expressions régulières sont accessibles via les modules, mais si elles sont répétées plusieurs fois à utiliser correctement les expressions régulières, il est préférable d'utiliser la fonction compile pour compiler l'expression régulière dans un objet RegexObject. Cela améliorera considérablement l'efficacité de la recherche, car lors de l'accès en mode non compilé, un petit tampon dans le module est utilisé. .

Par exemple :


import re 
 
# Precompile the patterns 
regexes = [ 
 re.compile(p) 
 for p in ['this', 'that'] 
] 
text = 'http://blog.csdn.net/caimouse is great blog, this is my blog.' 
 
print('Text: {!r}\n'.format(text)) 
 
for regex in regexes: 
 print('Seeking "{}" ->'.format(regex.pattern), 
   end=' ') 
 
 if regex.search(text): 
  print('match!') 
 else: 
  print('no match')

Le résultat est le suivant :


Text: 'http://blog.csdn.net/caimouse is great blog, this is my blog.'


Seeking "this" -> match!
Seeking "that" -> no match

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:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn