2017-10-04 1 views
0

J'ai un problème qui pourrait être plus simple que je le fais.Recherche regex Python pour toutes les chaînes correspondantes

# /usr/bin/env python 
    import csv 
    import re 
    import math 

    gt_user = raw_input("Enter person you want to look for") 
    for list, nums in info: 
    if gt_usr == list: 
     re.search(r'/.$/', get_usr) 
     total += numbs 

Je dois trouver toutes les chaînes correspondant à des noms d'entrée utilisateur ex: entrées de l'utilisateur Exemple mais dans les données csv qui y sont fixés sont des exemples-2455 que je dois chercher tous et et les combiner ensemble dans les mêmes données ensemble car ils sont du même endroit. ex: client et client-2334 sont la même personne.

+2

Vous serez beaucoup mieux juste en utilisant '.startswith()' pour ce cas. – Mangohero1

+0

Donc, vous obtenez les chiffres et les ajouter? – Steampunkery

+1

'^ EXEMPLE. * $' Si vous voulez vraiment utiliser regex. Évidemment 'EXAMPLE' serait une variable – ctwheels

Répondre

0

Je suppose que vous avez omis l'analyse du fichier CSV en info, qui représente une liste de lignes, où chaque ligne contient une paire d'éléments: un nom et un certain nombre que vous voulez totaliser. On dirait que vous voulez quelque chose comme ce qui suit:

total = 0 
gt_user = raw_input("Enter person you want to look for") 
for name, num in info: 
    if gt_user in name: 
     total += num 

Ou plus simplement:

gt_user = raw_input("Enter person you want to look for") 
total = sum(num for name, num in info if gt_user in name) 
+0

Damn n00b erreurs dans les travaux à la partie boucle d'if –