Регулярное выражение для соответствия строки после символа переменной - PullRequest
0 голосов
/ 29 января 2020

Я пытаюсь определить регулярное выражение (совместимо с Python или Ruby), чтобы соответствовать строке после строки и переменному символу или пробелу, например, так.

shop_item bananas 
shop_item: bananas
shop_item.bananas
shop_item  bananas

Мне действительно нужны бананы : -)

Я пытался /^(\S*) (.*)/, но этот не соответствует всем ситуациям должным образом.

Обновление: при использовании новых данных имя может быть как банан-нана или подчеркивание, поэтому это не только символ, но и почти все (не пробел или.).

Спасибо за совет

Ответы [ 2 ]

1 голос
/ 29 января 2020

В зависимости от того, как ваша строка "Bananas" будет выглядеть, может быть, позитивно с обратной стороны?

(?<=\W)\w*$

Ссылка на тест

0 голосов
/ 29 января 2020

Теперь я заметил, что первая строка содержит пробел после bananas. Чтобы справиться с этим, я бы сделал в Python:

import re
txt = '''shop_item bananas 
shop_item: bananas
shop_item.bananas
shop_item  bananas'''
items = re.findall(r'(\w+)\W*$', txt, re.M)
print(items)  # ['bananas', 'bananas', 'bananas', 'bananas']

$ в сочетании с флагом re.M совпадения в конце строки.

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