我有一个下面的文本是使用pdfminer
提取的。
pdfminer的输出:
工作经验-工作岗位/职位-销售助理@ DFS任职时间-2021年6月-至今目前我在DFS担任销售助理,我的职责包括帮助客户进行产品查询并满足客户需求,同时还要应对困难/沮丧的客户。在DFS,很多事情都可能出错,因此必须能够处理许多不同类型的异议,并始终向客户表示理解,以满足他们的需求。在这个职位上,我希望能够实现我目前没有问题的销售目标。工作职位/单位-抹灰工@ MB抹灰工的工作期限-2016年9月-至今作为一名抹灰工,我能够发展我的实际交易技能。专业领域-●客户互动●客户服务●适应力●建立Harmony关系●交易员●仓库工作个人技能-●友好●自信●表达清晰●自我激励●守时
预期产出:
工作经验-工作角色/职位-销售助理@ DFS任职时间-2021年6月-至今目前我在DFS担任销售助理,我的职责包括帮助客户进行产品查询并满足客户需求,同时还要应对困难/沮丧的客户。在DFS,很多事情都可能出错,因此必须能够处理许多不同类型的异议,并始终向客户表示理解,以满足他们的需求。在这个职位上,我希望我能实现目前我没有问题的销售目标。工作职位/单位-抹灰工@ MB抹灰工的工作期限-2016年9月-至今作为一名抹灰工,我能够发展我的实际交易技能。
在某些文本中,工作经验用其他术语表示,如经验、工作经验等。
我期待着写一个通用的正则表达式逻辑,以获取之间的工作经验和专业领域的文本。
我尝试的模式如下:
pattern = r'^(?:EXPERIENCE|Employment experience|Work Experience|Work Experience|WORK EXPERIENCE|Previous Employment|Work Experience -|Job experience|)\s*(\S.*?)\n(?:Skills|EDUCATION|Education|SKILLS|Areas Of Expertise)'
matches = re.findall(pattern, text, re.M | re.S)
print(matches)
但我得到的输出是[]
错过了什么?如何处理?
2条答案
按热度按时间pgky5nke1#
尝试以下模式:
sr4lhrrt2#
正则表达式的第一部分可以用途:
^(?:EXPERIENCE|Employment experience|Work Experience|Work Experience|WORK EXPERIENCE|Previous Employment|Work Experience -|Job experience)
之后,您需要
(.*)
之间的所有内容,直到特定的子字符串(?=Areas Of Expertise)
。总计:
^(?:EXPERIENCE|Employment experience|Work Experience|Work Experience|WORK EXPERIENCE|Previous Employment|Work Experience -|Job experience)(.*)(?=Areas Of Expertise)
其中,
(?=)
表示向前查找并排除您要查找的关键字,如下所述Regex Match all characters between two strings