text = '''
Person PicTurner, Helen Email Dean (808) 739-8399 x8399 Wesselkamper Science Center Room 116
Person PicWeichhaus, Michael Email Assistant Professor (808) 735-4286 x4286 Wesselkammper Science Center Room 107
Person PicSpeck, Mark Email Assistant Professor in Data Scientists (808) 739-7496 x7496 Tredtin Hall
Person PicShimoda, Lori Email Research Associate (808) 739-8570 x8570 Henry Hall 8
Person PicKeahi-Wood, Kahoalii Email Cultural Engagement Specialist (808) 739-7481 x7481 Wesselkamper Science Center Room 105
Baker, Jonathan Email Assistant Professor and Howard Hughes Project Manager (808) 739-8363 x8363 Wesselkamper Science Center Room 110
Person PicCarter, David Email Associate Professor (808) 739-8352 x8352 Henry Hall 5
Person PicKandel, Frederique Email Assistant Professor (808) 739-8376 x8376 Henry Hall 1
Corcoran, Hilary Email Instructional Laboratory and Instrumentation Manager (808) 440-4282 x4282 Henry Hall 1
Biology Go to webpage (808) 735-4808 x4808 (808) 739-4618 Wesselkamper Science Center 101
Person PicTurner, Helen Email Dean of Natural Science and Mathematics Division (808) 739-8399 x8399 Wesselkamper Science Center Room 116
Baker, Jonathan Email Assistant Professor and Howard Hughes Project Manager (808) 739-8363 x8363 Wesselkamper Science Center Room 110
Person PicWright, Claire Email Associate Professor, Clinical (808) 739-8343 x8343 Wesselkamper Science Center Room 106
Person PicDohm, Michael Email Associate Professor (808) 739-8543 x8543 Henry Hall 6
Person PicTrapido-Rosenthal, Henry Email Associate Professor (808) 735-4808 x4808 Wesselkamper Science Center Room 104
Person PicNaeole, Chrystie Email Assistant Professor and Special Projects Coordinator (808) 739-8551 x8551 Wesselkamper Science Center Room 105
Person PicCogbill, Jolene Email Assistant Professor (808) 739-4630 x4630 Wesselkamper Science Center Room 108
Person PicCrocker, John Email Adjunct
Chemistry (808) 735-4806 x4806 (808) 440-4283 Wesselkamper Science Center 103
Person PicTerem, Bulent Email Professor (808) 735-4806 x4806 Wesselkamper Science Center Room 103
Person PicKawakami, Joel Email Professor (808) 739-8576 x8576 Henry Hall 4
Person PicJensen, Janet Email Senior Lecturer (808) 735-4858 x4858 Wesselkamper Science Center Room 104
Environmental Studies Go to webpage (808) 735-4751 x4751 (808) 739-4618 Wesselkamper Science Center Room 108
Person PicGrabowsky, Gail Email Associate Professor (808) 735-4834 x4834 Wesselkamper Science Center Room 108
Forensic Science Go to webpage (808) 440-4204 x4204 (808) 440-4278 Wesselkamper Science Center 115
Person PicGutierrez, Carlos Email Lecturer (808) 739-7451 x7451 Henry Hall 3
Person PicCarter, David Email Director (808) 739-8352 x8352 Henry Hall 5
Person PicPerrault, Katelynn Email Assistant Professor (808) 440-4209 x4209 Henry Hall 2
Mathematics (808) 739-4682 x4682 (808) 440-4278 Wesselkamper Science Center 109
Dohm, Sheryl Email Senior Lecturer (808) 739-8561 x8561 Wesselkamper Science Center 105
Person PicWong, Chock Email Associate Professor (808) 739-4682 x4682 Wesselkamper Science Center Room 109
Physics (808) 739-4681 x4681 (808) 440-4278 Wesselkamper Science Center 116
Person PicCochran, Matthew Email Associate Professor (808) 739-8361 x8361 Henry Hall 7
'''
Я пытаюсь использовать re.findall (), чтобы получить этот список:
['PicTurner, Helen Email',
'PicWeichhaus, Michael Email',
'PicSpeck, Mark Email',
'PicShimoda, Lori Email',
'PicKeahi-Wood, Kahoalii Email',
'PicCarter, David Email',
'PicKandel, Frederique Email',
'PicTurner, Helen Email',
'PicWright, Claire Email',
'PicDohm, Michael Email',
'PicTrapido-Rosenthal, Henry Email',
'PicNaeole, Chrystie Email',
'PicCogbill, Jolene Email',
'PicCrocker, John Email',
'PicTerem, Bulent Email',
'PicKawakami, Joel Email',
'PicJensen, Janet Email',
'PicGrabowsky, Gail Email',
'PicGutierrez, Carlos Email',
'PicCarter, David Email',
'PicPerrault, Katelynn Email',
'PicWong, Chock Email',
'PicCochran, Matthew Email']
Я пытался использовать следующий код:
print(re.findall(r'Pic\w+\, \w+ \sEmail', text))
['PicTurner, Helen Email',
'PicWeichhaus, Michael Email',
'PicSpeck, Mark Email',
'PicCarter, David Email',
'PicKandel, Frederique Email',
'PicTurner, Helen Email',
'PicWright, Claire Email',
'PicDohm, Michael Email',
'PicNaeole, Chrystie Email',
'PicCogbill, Jolene Email',
'PicCrocker, John Email',
'PicTerem, Bulent Email',
'PicKawakami, Joel Email',
'PicJensen, Janet Email',
'PicGrabowsky, Gail Email',
'PicGutierrez, Carlos Email',
'PicPerrault, Katelynn Email',
'PicCochran, Matthew Email']
Это код, который я получаю. Я пропускаю 3 значения, особенно те, которые имеют ровно один пробел после фамилии и до 'Email'
Используя этот код, я могу вернуть только пропущенные значения.
print(re.findall(r'Pic\w+\, \w+\sEmail', text))
['PicShimoda, Lori Email',
'PicCarter, David Email',
'PicWong, Chock Email']
Что именно я делаю не так? Похоже, что первый код, который я попытался, по сути говорит: «найдите все шаблоны, которые имеют ровно один пробел после фамилии, за которым следует любое количество пробелов». Похоже, что 0 пробелов, которые, по сути, представляют собой 3 пропущенных значения, также должны быть включены.