Найти - Пользователи
Полная версия: Регулярное выражение - выделить слово из строки
Начало » Python для новичков » Регулярное выражение - выделить слово из строки
1 2
Dobrodel
Друзья, помогите пожалуйста советом. Как можно решить вот такую задачку?
Есть строка вида:
sttr=- wedi is the best book. In god we trust: we know....
Таких строк множество отличаются друг от друга несильно. Необходимо построить шаблон по постоянным присутствующим символам и словам: (‘-‘,'. In god we trust:’), выделив и получив в результате отрывок «is the best book».
Подскажите пожалуйста как это можно сделать при помощи регулярных выражений?
py.user.next
Dobrodel
Необходимо построить шаблон по постоянным присутствующим символам и словам

Они уже найдены?
Dobrodel

py.user.next
Они уже найдены?
Не совсем понял вопроса. Найдены слова и символы?
Так я же их в скобках обозначил, это символ «-» и фраза «. In god we trust:», которые находятся в моей изначальной фразе.
py.user.next
Dobrodel
Найдены слова и символы?
Имеется в виду набор строк в скобках. Они найдены или их надо сначала искать в строках начального множества?

Dobrodel
Так я же их в скобках обозначил, это символ «-» и фраза «. In god we trust:»

Почему “wedi” и “we know….” не нужно выделять?
alexsis
>>> import re
>>> result = re.search(r'- (?P<abc>[\S\s]+) In god we trust: we know', '- wedi is the best book. In god we trust: we know....')
>>> print(result.group('abc'))
wedi is the best book.
>>> 
dimy44
Он просит получить “is the best book”, “wedi” там ни в заранее известных нет, понимай как хошь. Считаю, что задача описана хреново, вот и не спешит никто помочь.
py.user.next
dimy44
Считаю, что задача описана хреново
Это точно, а опыт показывает, что из десяти решений для хренового описания ни одно не является правильным и нужно одиннадцатое.
Dobrodel
Друзья, простите, возможно Вы правы. Я действительно плохо описал задачу. Давайте попробую снова:
Итак, есть строка:
sttr=«<шаблон1> <что-то еще1> is the best book. <шаблон2> <что-то еще2>….»
Получается, что при поиске можно ориентироваться на три составляющих:
1. Начало строки
2. Одно слово после Шаблона1.
3. Шаблон1 и шаблон2
Ориентироваться на саму фразу « is the best book.» нет возможности, так как она меняется.
Троеточия говорят о том, что ориентироваться на конец строки, так же нет возможности.

Вернуть нужно только фразу «is the best book». Почему не нужно возвращать остальное? Это не суть, так как это естественно упрощённый пример того, что мне необходимо в конкретной задаче.
Думаю, что сейчас объяснение получше. Или чего не хватает?
py.user.next
Dobrodel
это естественно упрощённый пример того, что мне необходимо в конкретной задаче.
Вот конкретную задачу и опиши.

А так:
Dobrodel
Итак, есть строка:
sttr=«<шаблон1> <что-то еще1> is the best book. <шаблон2> <что-то еще2>….»

Вот как ты отличаешь <что-то еще1> от фразы “is the best book.” ? Откуда следует, что слово “is” не входит в <что-то еще1> ?
Dobrodel
Уважаемый py.user.next
Благодарю Вас за участие в настоящей дискуссии.
Видимо мне не хватает компетенций правильно донести до Вас свой вопрос. Прошу прощения за это. НЕ взыщите строго.
Возможно в следующий раз у меня это получится.
Еще раз благодарю Вас, за Ваше участие.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB