J'ai un 50 bits regex que j'utilise pour séparer les phrases.Obtenir un regex trie pour courir plus vite?
Voici le code correspondant:
import io
import re
with io.open('REGEXES.rx.txt', encoding='latin-1') as myfile:
regex = myfile.read()
while True == True:
Password = input("Enter a phrase to be split: ")
Words = re.findall(regex, Password)
print(Words)
Depuis la regex est si grand, cela prend toujours!
Voici le code que je suis en train maintenant, avec re.compile (TempRegex):
import io
import re
with io.open('REGEXES.rx.txt', encoding='latin-1') as myfile:
TempRegex = myfile.read()
regex = re.compile(TempRegex)
while True == True:
Password = input("Enter a phrase to be split: ")
Words = re.findall(regex, Password)
print(Words)
Ce que je suis en train de faire est que je suis en train de vérifier si une expression est entrée une combinaison de noms. Par exemple, l'expression "johnsmith123" pour retourner ['john', 'smith', '123']. Le fichier regex a été créé par un outil à partir d'une liste de mots de tous les prénom et nom de Facebook. Je veux voir si une phrase entrée est une combinaison de mots de cette liste de mots essentiellement ... Si johns et mith sont des noms dans la liste, alors je voudrais que "johnsmith123" retourne ['john', 'smith', '123 ', 'John Smith'].
Une regex de 50 Mo sera probablement toujours lente. Honnêtement, je n'ai aucune idée de comment construire quelque chose sur cette échelle ou comment il serait utilisé. Tu ne peux pas faire un peu de filtrage d'abord pour réduire sa taille? Le plus long que j'ai jamais vu est [celui-ci] (http://www.ex-parrot.com/~pdw/Mail-RFC822-Address.html), et à 6ko, c'est déjà un monstre. – Carsten
Une regex cette grande est très inhabituel, et presque certainement pas la bonne solution à n'importe quel problème. Pourriez-vous poster, disons, les 400 premiers caractères de votre regex? –
de votre syntaxe, il est clair que vous êtes débutant en Python. C'est bon mais sans code correct, nous ne pouvons pas vous aider. Pourquoi utilisez-vous io.open - utilisez juste l'ouverture. Aussi - pourquoi la regex est dans le fichier? Montre le s'il te plait. – alkuzad