Regex: взять все после матча - PullRequest
0 голосов
/ 03 июля 2018

У меня много строк в фрейме данных, например:

adrianos ristorante 2930 beverly glen circle los angeles 310475 9807 italian

Я хочу взять все слова / символы после номера телефона. У меня есть регулярное выражение для получения номера телефона и пробела после (([0-9]{6}\s[0-9]{4})\s). Я хочу, чтобы все персонажи после этого. В данном случае это italian, но это может быть что-то вроде asian fusion или indian and thai.

Ответы [ 4 ]

0 голосов
/ 03 июля 2018

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

[0-9]{6}\s[0-9]{4}\s+(.+)
                    ^^^^^

Код будет выглядеть как

df['col'].str.extract('[0-9]{6}\s[0-9]{4}\s+(.+)')

Обратите внимание, что вы должны обернуть часть, которую необходимо извлечь, с группой захвата, (...). См. Панд ссылки :

pat : string

Шаблон регулярного выражения с группами захвата

0 голосов
/ 03 июля 2018

Используя это регулярное выражение: /([0-9]{6}\s[0-9]{4})\s(.*$)/m

У вас будет что-нибудь после телефонного номера до конца строки (вы можете опустить флаг m, если хотите получить все до конца строки) во второй группе захвата.

0 голосов
/ 03 июля 2018

Вы можете использовать позитивный взгляд:

(?<=[0-9]{6}\s[0-9]{4}\s).*

Regex101 .

0 голосов
/ 03 июля 2018

Вы можете сделать (в Notepad ++):

Найти что: (. ) ([0-9] {6} \ s [0-9] {4}) \ s (. ) Заменить на: $ 3

$ 3 дает 3-й аргумент, который является всем после вашего номера телефона.

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