Python Regex no capturar cuerdas sueltas

unDucked:
bigger_list_of_names = ['Jim', 'Bob', 'Fred', 'Cam', 'Reagan','Alejandro','Dee','Rana','Denisha','Nicolasa','Annett','Catrina','Louvenia','Emmanuel','Dina','Jasmine','Shirl','Jene','Leona','Lise','Dodie','Kanesha','Carmela','Yuette',]
name_list = ['Jim', 'Bob', 'Fred', 'Cam']
search_people = re.compile(r'\b({})\b'.format(r'|'.join(name_list)), re.IGNORECASE)
print(search_people)

for names in bigger_list_of_names:
    found_them = search_people.search(names, re.IGNORECASE | re.X)
    print(names)
    if found_them:
        print('I found this person: {}'.format(found_them.group()))
    else:
        print('Did not find them')

El problema que estoy teniendo es la expresión regular no encontrar los nombres de todos y sigue golpeando la else:he tratado re.search, re.findall, re.find, re.match, re.fullmatch, etc. Todos ellos retorno None. La única manera para que encuentre cualquier cosa es si lo uso re.finditer, pero que no permitiría que yo use .group().

La salida de la re.compileesre.compile('\\b(Jim|Bob|Fred|Cam)\\b', re.IGNORECASE)

He comprobado en https://regex101.com/ ( https://i.stack.imgur.com/lL3mh.png) y parece que su trabajo pero no en el pitón.

Aquí está mi salida de la consola: https://i.stack.imgur.com/kxdcc.png

Me estoy perdiendo algo?

newcool:

Estoy un poco tarde pero tuve el mismo problema antes. Parece que está utilizando PyCharm, comprobar si la cosa automático completo (si no lo tiene apagado) que diría:

pattern.search(self, string, pos, endpos)

En lugar de añadir banderas en la .search()parte, tendrá que añadir las banderas en la re.compileparte. Dado que re.compile()en realidad acepta las banderas.

Como se ve en PyCharm automático completo:

re.compile(pattern, flags)

Para que se viera un poco como esto:

search_people = re.compile(r'\b({})\b'.format(r'|'.join(name_list)), re.IGNORECASE | re.X)

for names in bigger_list_of_names:
    found_them = search_people.search(names)
    print(names)
    if found_them:
        print('I found this person: {}'.format(found_them.group()))
    else:
        print('Did not find them')

Supongo que te gusta

Origin http://10.200.1.11:23101/article/api/json?id=395748&siteId=1
Recomendado
Clasificación