каким будет шаблон регулярного выражения для идентификации в текстовой цитате - «(имя автора, год)»?

Я преобразовал список токенизированных предложений в фрейм данных. Теперь мне нужно отфильтровать строки (предложения), в которых есть цитаты.

Пример кадра данных:

   sentences
1  This is my house
2  This is clear water(World Health organisation, 2018).
3  This house was built in 2000 
4  According to me (Sundar, 2015)it is good.

Ожидаемый результат:

   sentences
1  This is clear water(World Health organisation, 2018).
2  According to me (Sundar, 2015)it is good.

Я использовал приведенный ниже код с разными шаблонами, r'[(]\w+,\d{4}[)]', r[(\w+\s+, \d{4})]

df[df['sentences'].str.contains(r'\d{4}', regex = True)]

person Sri Amudha    schedule 27.06.2020    source источник


Ответы (1)


Вы можете попробовать:

print(df[df['sentences'].str.contains(r'\d{4}\)', regex = True)])

Or:

print(df[df['sentences'].str.contains(r'\w.+\(\w.+\d{4}\)', regex = True)])

Оба выхода:

                                               sentences
2  This is clear water(World Health organisation, 2018).
4              According to me (Sundar, 2015)it is good.
person MrNobody33    schedule 27.06.2020
comment
Рад, что это помогает вам! Не могли бы вы принять его? - person MrNobody33; 29.06.2020