Как получить имя "Gokila" в строке ниже с помощью регулярного выражения Python? - PullRequest
0 голосов
/ 21 октября 2019

«Надеюсь, вам понравилось, Гокила! НАДЕЖДА, ЧТОБЫ ВИДЕТЬ ВАС СНОВА! Ваши билеты на комплимент действительны в течение 6 месяцев с даты выдачи».

Ответы [ 3 ]

1 голос
/ 21 октября 2019

Вы можете получить совпадение в регулярном выражении, получив доступ к каждой группе по ее номеру позиции. В приведенном ниже регулярном выражении есть только одна заключительная скобка.

 import re

 str = "I hope you enjoyed the stay, Gokila!HOPE TO SEE YOU AGAIN Your compliment tickets are valid for 6 months from the date of issue."
 matches = re.search(".*\s(.*)\!.*", str)

 print(matches.group(1))
 # Gokila
0 голосов
/ 21 октября 2019

Попробуйте это регулярное выражение:

(?<=, )(?:\w+\s*)+(?=!)

Предполагается, что после запятой перед именем

стоит пробел.
0 голосов
/ 21 октября 2019

Использование re.match с группой захвата:

inp = "I hope you enjoyed the stay, Gokila!HOPE TO SEE YOU AGAIN Your compliment tickets are valid for 6 months from the date of issue."
m = re.match(r'.*,\s+(\w+)\b.*', inp)
if m:
    print(m.groups(1)[0])

Печать:

Gokila
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...