Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 5, 2014 15:06:50

Dobrodel
Зарегистрирован: 2014-09-24
Сообщения: 50
Репутация: +  0  -
Профиль   Отправить e-mail  

Регулярное выражение - выделить слово из строки

Друзья, помогите пожалуйста советом. Как можно решить вот такую задачку?
Есть строка вида:

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

Офлайн

#2 Окт. 5, 2014 23:16:13

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10015
Репутация: +  857  -
Профиль   Отправить e-mail  

Регулярное выражение - выделить слово из строки

Dobrodel
Необходимо построить шаблон по постоянным присутствующим символам и словам

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



Офлайн

#3 Окт. 8, 2014 09:31:49

Dobrodel
Зарегистрирован: 2014-09-24
Сообщения: 50
Репутация: +  0  -
Профиль   Отправить e-mail  

Регулярное выражение - выделить слово из строки


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

Офлайн

#4 Окт. 8, 2014 10:02:32

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10015
Репутация: +  857  -
Профиль   Отправить e-mail  

Регулярное выражение - выделить слово из строки

Dobrodel
Найдены слова и символы?
Имеется в виду набор строк в скобках. Они найдены или их надо сначала искать в строках начального множества?

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

Почему “wedi” и “we know….” не нужно выделять?



Отредактировано py.user.next (Окт. 8, 2014 10:03:35)

Офлайн

#5 Окт. 8, 2014 17:28:56

alexsis
Зарегистрирован: 2013-07-26
Сообщения: 148
Репутация: +  9  -
Профиль   Отправить e-mail  

Регулярное выражение - выделить слово из строки

>>> 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.
>>> 

Офлайн

#6 Окт. 8, 2014 19:24:36

dimy44
От: Евпатория
Зарегистрирован: 2012-04-21
Сообщения: 463
Репутация: +  42  -
Профиль  

Регулярное выражение - выделить слово из строки

Он просит получить “is the best book”, “wedi” там ни в заранее известных нет, понимай как хошь. Считаю, что задача описана хреново, вот и не спешит никто помочь.

Офлайн

#7 Окт. 9, 2014 02:11:18

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10015
Репутация: +  857  -
Профиль   Отправить e-mail  

Регулярное выражение - выделить слово из строки

dimy44
Считаю, что задача описана хреново
Это точно, а опыт показывает, что из десяти решений для хренового описания ни одно не является правильным и нужно одиннадцатое.



Офлайн

#8 Окт. 9, 2014 05:22:43

Dobrodel
Зарегистрирован: 2014-09-24
Сообщения: 50
Репутация: +  0  -
Профиль   Отправить e-mail  

Регулярное выражение - выделить слово из строки

Друзья, простите, возможно Вы правы. Я действительно плохо описал задачу. Давайте попробую снова:
Итак, есть строка:
sttr=«<шаблон1> <что-то еще1> is the best book. <шаблон2> <что-то еще2>….»
Получается, что при поиске можно ориентироваться на три составляющих:
1. Начало строки
2. Одно слово после Шаблона1.
3. Шаблон1 и шаблон2
Ориентироваться на саму фразу « is the best book.» нет возможности, так как она меняется.
Троеточия говорят о том, что ориентироваться на конец строки, так же нет возможности.

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

Офлайн

#9 Окт. 9, 2014 06:16:17

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10015
Репутация: +  857  -
Профиль   Отправить e-mail  

Регулярное выражение - выделить слово из строки

Dobrodel
это естественно упрощённый пример того, что мне необходимо в конкретной задаче.
Вот конкретную задачу и опиши.

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

Вот как ты отличаешь <что-то еще1> от фразы “is the best book.” ? Откуда следует, что слово “is” не входит в <что-то еще1> ?



Офлайн

#10 Окт. 9, 2014 08:31:40

Dobrodel
Зарегистрирован: 2014-09-24
Сообщения: 50
Репутация: +  0  -
Профиль   Отправить e-mail  

Регулярное выражение - выделить слово из строки

Уважаемый py.user.next
Благодарю Вас за участие в настоящей дискуссии.
Видимо мне не хватает компетенций правильно донести до Вас свой вопрос. Прошу прощения за это. НЕ взыщите строго.
Возможно в следующий раз у меня это получится.
Еще раз благодарю Вас, за Ваше участие.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version