Python de recherche de génériques dans le string
Permet de dire que j'ai une liste
list = ['this','is','just','a','test']
comment puis-je avoir un utilisateur de faire une recherche générique?
De recherche de Mot: 'th_s'
Serait de retour cette
Vous devez vous connecter pour publier un commentaire.
Les expressions régulières sont probablement la solution la plus simple à ce problème:
Utilisation
fnmatch
:Si vous souhaitez autoriser
_
comme un caractère générique, juste remplacer toutes les souligne avec'?'
(pour un caractère) ou*
(plusieurs personnages).Si vous voulez que vos utilisateurs à utiliser encore plus puissantes options de filtrage, d'envisager de leur permettre d'utiliser les expressions régulières.
**
générique? (e-> j'ai vérifié les docs - il ne permet pas de traiter des barres obliques différemment et donc la**
générique n'est même pas nécessaire ici).th?s
?Vous pouvez essayer de le fnmatch module, il y a une forme de coquille syntaxe générique
ou peuvent utiliser les expressions régulières
importation re
Voulez-vous dire toute la syntaxe spécifique pour les jokers? Généralement
*
signifie "un ou plusieurs" personnages et?
est pour un.La façon la plus simple est sans doute de traduire une expression générique dans une expression régulière, puis l'utiliser pour filtrer les résultats.
fnmatch
module a une fonction pour traduire générique d'allumettes dans les expressions régulières:fnmatch.translate
Même idée que Yuushi à l'aide d'expressions régulières, mais il utilise la méthode findall dans le re de la bibliothèque au lieu d'une compréhension de liste:
Méthode simple est d'essayer
os.system
: