Я хочу извлечь текст между двумя подстроками или фразами, используя python, используя регулярное выражение.

Образец текста:

NAME – Testing set ADDRESS – 1470 ROAD CONTACT NUMBER - +91-44578558774 E-MAIL – test.side@gmail.com 


PROFESSIONAL PROFILE 

A petroleum graduate with professional experience in workover operation & Surface Well Testing operation and implementation of procedures and best practices following knowledge management processes. Seeking a role in oil and gas industry to develop engineering and management skills and apply new ideas to real life industry problem. 


PROFESSIONAL EXPERIENCE 

RIG (JUN 2014 – SEPT 2015)  

Performed various workover operations in SRP and ESP wells developed in Ahmedabad (ONGC Project) & Durgapur (ESSAR Project). My responsibilities as Roustabout on Rig was to perform:  Make pipe connection & Operate Tongs while running in and Pull out of Sucker rod & Tubings.

CORE COMPETENCIES: 

1. Well versed with varioussoftware for well testing (Wireless software). 2. Good Knowledge of MS-EXCEL, MS-Word.

Каким будет регулярное выражение для извлечения всего текста между PROFESSIONAL PROFILE и ОСНОВНЫЕ КОМПЕТЕНЦИИ? Я не могу получить правильное регулярное выражение.

0
Rahul Anand 22 Мар 2020 в 11:44
Может быть: PROFESSIONAL PROFILE([\s\S]+)CORE COMPETENCIES:, что помещает его в группу 1 (\1). Лучше опубликовать попытку и попросить об улучшениях или о том, что вы обнаружите, что это не работает, а не просто указать требуемую задачу; о)
 – 
MDR
22 Мар 2020 в 11:58
Я попробовал то же выражение, но не получил результата. Извинения пропустил публикацию моей попытки
 – 
Rahul Anand
22 Мар 2020 в 12:02
Я опубликую ответ, чтобы показать код, так как его слишком сложно показать в комментариях.
 – 
MDR
22 Мар 2020 в 12:07

1 ответ

Чтобы продолжить из комментариев... Попробуйте это как демонстрацию...

import re

pattern = re.compile(r'PROFESSIONAL PROFILE([\s\S]+)CORE COMPETENCIES:')

data = '''
NAME – Testing set ADDRESS – 1470 ROAD CONTACT NUMBER - +91-44578558774 E-MAIL – test.side@gmail.com 


PROFESSIONAL PROFILE 

A petroleum graduate with professional experience in workover operation & Surface Well Testing operation and implementation of procedures and best practices following knowledge management processes. Seeking a role in oil and gas industry to develop engineering and management skills and apply new ideas to real life industry problem. 


PROFESSIONAL EXPERIENCE 

RIG (JUN 2014 – SEPT 2015)  

Performed various workover operations in SRP and ESP wells developed in Ahmedabad (ONGC Project) & Durgapur (ESSAR Project). My responsibilities as Roustabout on Rig was to perform:  Make pipe connection & Operate Tongs while running in and Pull out of Sucker rod & Tubings.

CORE COMPETENCIES: 

1. Well versed with varioussoftware for well testing (Wireless software). 2. Good Knowledge of MS-EXCEL, MS-Word.

'''

#print(pattern.search(data)[1])
#I think the  is tripping the code up so consider...
print(pattern.search(data)[1].encode('utf8'))

Выходы:

A petroleum graduate with professional experience in workover operation & Surface Well Testing operation and implementation of procedures and best practices following knowledge management processes. Seeking a role in oil and gas industry to develop engineering and management skills and apply new ideas to real life industry problem. 


PROFESSIONAL EXPERIENCE 

RIG (JUN 2014 – SEPT 2015)  

Performed various workover operations in SRP and ESP wells developed in Ahmedabad (ONGC Project) & Durgapur (ESSAR Project). My responsibilities as Roustabout on Rig was to perform:  Make pipe connection & Operate Tongs while running in and Pull out of Sucker rod & Tubings.
1
MDR 22 Мар 2020 в 12:25
Простой ответ, но отлично работает в моем случае... просто хотел проголосовать за вас, так как он решил то, что я считал сложной проблемой... regex101.com/r/smxV0v/1
 – 
GeorgeC
11 Июн 2021 в 12:37