Извлечение в слова в тегах в PYTHON - PullRequest
0 голосов
/ 27 февраля 2019

Здравствуйте, я хотел бы извлечь содержание этого тега

<Sentiment int=6>Deep injustice</Sentiment>

во многих предложениях текста ( Здесь ).

df['text'].str.extractall(r'^<(?P<Sentiments>\w+).*[int]?.*(?P<Intensite>\d?\d)>(?P<Expression>[a-zA-Z]*?.*[a-zA-Z]*)<')

Мой кодпроизвести только несколько из них (тег).Почему не извлекают другие?

                  Sentiments Intensite               Expression
      match                                                    
405   0         Disagreement         3    Bizarre contradiction
921   0         Satisfaction         5           La plus simple
2549  0      Dissatisfaction         3     Ne me contentant pas

1 Ответ

0 голосов
/ 28 февраля 2019

Вы можете использовать

df['text'].str.extractall(r'<(?P<Sentiments>\w+)\s+int=(?P<Intensite>\d+)>(?P<Expression>[^<]*)')

См. Демоверсию regex .

Подробности

  • < - a < char
  • (?P<Sentiments>\w+) - Группа "Настроения": 1 или более букв, цифр, подчеркиваний
  • \s+ - 1+ пробел
  • int= - подстрока
  • (?P<Intensite>\d+) - группа "Intensite": 1+ цифр
  • > - > char
  • (?P<Expression>[^<]*) - Group "Выражение ": 0 или более символов, отличных от >
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...