2015-03-19 1 views
0

У меня есть текстовый файл, например: -с помощью регулярных выражений для текста сопоставления строки

car - superb 
company - skoda simply clever 
manufactured - 1990 
car - sclass 
company - mercedes the best or nothing 
manufactured - 1990  
car - rapid 
company - skoda simply clever 
manufactured - 1990 

Если пользователь raw_inputs в name'skoda компании», то он должен предоставить мне 2 детали, так как выше текстовый файл имеет 2 машина: -

superb 
skoda simply clever 
1990 
rapid 
skoda simply clever 
1990 

Как я могу использовать регулярное выражение для указанных выше проблем, я искал все «SO», но didnot получить соответствие моего problem.Please помочь мне с решением!

Заранее благодарен!

+0

Можете ли вы показать нам некоторые примеры кода вы пробовали использовать регулярные выражения с? – Interrobang

+0

Я думаю, вы должны изменить текст на список данных, а затем сравнить пользовательский ввод с каждым элементом списка. – SolaWing

+2

На все части вашей проблемы уже был дан ответ на StackOverflow. –

ответ

0
car\s+-(?:(?!\bcar\b)[\s\S])*skoda(?:(?!\bcar\b)[\s\S])* 

Вы можете использовать это. Это даст раздел, что вы хотите. Смотрите демо.

https://regex101.com/r/pT4tM5/14

x="""car - superb 
company - skoda simply clever 
manufactured - 1990 
car - sclass 
company - mercedes the best or nothing 
manufactured - 1990 
car - rapid 
company - skoda simply clever 
manufactured - 1990""" 
temp="skoda" 
print re.findall(r"car\s+-(?:(?!\bcar\b)[\s\S])*"+temp+r"(?:(?!\bcar\b)[\s\S])*",x) 
+0

Могу ли я использовать его даже для большого текстового файла? –

+0

@itadsd зависит от того, как долго ваш файл ... дайте ему попробовать, хотя !!!!!!! – vks

+0

Большое вам спасибо за ответ! –

Смежные вопросы