поиск регулярных выражений в тексте с использованием Python - PullRequest
0 голосов
/ 02 апреля 2019

Я хочу найти регион в s1.Я хочу вернуть 1, если i текст содержит «регион» или «регион» или «регионы» или «регион» и 0 в другом случае.я написал код ниже, но он не работает

s1 = pd.Series(['here is region', 'my regions', 'régionally', 'région','régions','regions','region']) s1.str.contains('r.gion[s][^a-zA-Z]', regex=True).astype(int) В этом случае результат должен быть

[1,1,0,1,1,1,1]

1 Ответ

2 голосов
/ 02 апреля 2019

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

s1.str.contains(r'\br[ée]gions?\b').astype(int)

Если вы хотите сохранить регулярное выражение в файле, а затем прочитать и использовать в качестве переменной, просто напишите \br[ée]gions?\b.

Test:

>>> import pandas as pd
>>> s1 = pd.Series(['here is region', 'my regions', 'régionally', 'région','régions','regions','region'])
>>> s1.str.contains(r'\br[ée]gions?\b').astype(int)
0    1
1    1
2    0
3    1
4    1
5    1
6    1
dtype: int32

Подробности

  • \b - граница слова
  • r - r char
  • [ée] - одна из букв в классе символов
  • gion - gion
  • s? - необязательная s буква
  • \b - граница слова.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...