выберите конкретное слово из первых 2 строк, начиная с конкретного слова, регулярное выражение - PullRequest
1 голос
/ 25 сентября 2019

данные являются пандами. Серия: я использую df.B=df.A.str.extract(r'') для создания столбца B с извлеченными словами WHERE. Df:

A
HI my lines are
so super WHERE1 my car
car go anywhere
next line like this
HI my lines are
so super WHERE2 my car
one WHERE HI like me

Данные выше - это тестовые данные, между HI словами иногда бывает 40 строкпространство.Мне нужно получить из первых двух строк, начиная с HI, который всегда первый.и из этих первых строк получите WHERE1 и WHERE2 слово

мое регулярное выражение до сих пор:

^(HI(.*\n){2}) #to select first two lines

Я не знаю, где мне добавить слово, которое я ищу (WHERE1 | WHERE2)

ожидается Выход:

WHERE1
WHERE2

1 Ответ

1 голос
/ 25 сентября 2019

Вы можете использовать это регулярное выражение в режиме MULTILINE:

^HI\s.*(?:\n.*)?\b(WHERE1|WHERE2)\b

Демонстрация RegEx

Подробности RegEx:

  • ^HI\s: сопоставить строку, начинающуюся с HI и пробел
  • .*: сопоставить 0 или более с любым символом
  • (?:\n.*)?: необязательная группа длясоответствовать разрыву строки и 0 или более o любому символу
  • \b(WHERE1|WHERE2)\b: сопоставить WHERE1 или WHERE2 с границами слов
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...