贴原始的纯文本内容,用代码格式发,我看看内容,写个正则,最好是有意外情况的,好测试正则的强壮
基于new Bing的回答:
import re
content = '''Python3高级开发工程师上海互教教育科技有限公司上海-浦东新区2万/月o2-18满员 测试开发工程师(c++/python)上海墨鹏数码科技有限公司上海-浦东新区2.5万/每 月02-18未满员 Python3开发工程师上海德拓信息技术股份有限公司上海-徐汇区1.3万/每月02-18 剩余11人 测试开发工程师(Python)赫里普(上海)信息科技有限公司上海-浦东新区1.1万/每 月02-18剩余5人 Python高级开发工程师上海行动教育科技股份有限公司上海-闵行区2.8万/月o2-18 剩余255人 python开发工程师上海优似腾软件开发有限公司上海-浦东新区2.5万/每月o2-18满 员'''
pattern = re.compile(r'([\u4e00-\u9fa5]+?工程师).*?(\d+\.?\d*万)')
results = pattern.findall(content)
for result in results:
print(f'职位: {result[0]}, 薪资: {result[1]}/月')
亲测可用
import re
content = '''
Python3 高级开发工程师 上海互教教育科技有限公司上海-浦东新区2万/月 02-18 满员
测试开发工程师 (C++/python) 上海墨数码科技有限公司上海-浦东新区2.5万/每月 02-18未满员
Python3开发工程师 上海德拓信息技术股份有限公司上海徐汇区1.3万/每月 02-18余11人
测试开发工程师(Python) 赫里 (上海) 信息科技有限公司上海-浦东新区1.1万/每月02-18剩余5人
Python 高级开发工程师 上海行动教育科技股份有限公司上海闵行区2.8万/月 02-18剩余 255人
python 开发工程师 上海优似腾软件开发有限公司上海-浦东新区2.5万/每月 02-18满员'''
# 定义正则表达式,用于匹配岗位和薪资信息
pattern = r'(\w+开发工程师).*?([\d\.]+)(万/每月|万/月)'
# 执行正则匹配
matches = re.findall(pattern, content, re.S)
# 打印结果
for match in matches:
print(f'岗位:{match[0]},薪资:{match[1]}万/每月')
我写了一个表达式,应该是你需要的答案,匹配全了职位的所有字符,比如python3,或者(C++/python),代码运行结果如下:
import re
content = '''
Python3 高级开发工程师 上海互教教育科技有限公司上海-浦东新区 2万/月 2-18 满员
测试开发工程师 (C++/python) 上海墨数码科技有限公司上海-浦东新区 2.5万/每月 02-18 未满员
Python3 开发工程师 上海德拓信息技术股份有限公司上海徐汇区 13万/每月 02-18剩余 11人
测试开发工程师 (Python) 上海信息科技有限公司上海-浦东新区 11万/每月 02-18剩余5人
Python 高级开发工程师 上海行动教育科技股份有限公司上海-闵行区 28万/月 2-18剩余 255人
python 开发工程师 上海优似腾软件开发有限公司上海浦东新区 2.5万/每月 2-18 满员
'''
pattern = r'(.+?)\s{1,2}\S+[\u4e00-\u9fa5\-]+\s+([0-9.]+\S*)\s*(月)'
for job in re.findall(pattern, content):
print(job[0], job[1]+job[2])
以下答案由GPT-3.5大模型与博主波罗歌共同编写:
好的,那我这里给你介绍一下如何实现一个分组的功能,代码如下:
def group_elements(lst: list, n: int):
return [lst[i:i+n] for i in range(0, len(lst), n)]
这个函数的作用是将一个列表分成n个一组,可以直接调用这个函数来实现分组功能。其中,lst
表示要分组的列表,n
表示每组包含的元素数量。
举个例子,如果有一个列表[1,2,3,4,5,6,7,8,9]
,需要分成3个一组,那么调用函数group_elements([1,2,3,4,5,6,7,8,9], 3)
,输出结果为[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
。
这里使用了Python列表的列表解析和切片功能,代码比较简洁易懂。希望对你有帮助。
如果我的回答解决了您的问题,请采纳!
1、学习的根本规律——思路清晰,树立明确目标
明确目标,明白自己真正想要的是什么,自己想要通过编程软件达到一个什么样的目的。比如设计一款小程序、一个简单的小游戏或者说数据分析等等。
2、根据目标制定计划
不要盲目求学,要有计划、目标明确的进行学习,才会有效果。比如:完成数据可视化,就要先数据获取到数据处理再到数据分析,最后才达到数据可视化。
3、侧重知识点的学习,夯实基础,理解且记忆
在各网站或者各个QQ群找相关学习资料或者学习方法,对相关基础知识进行一定的了解。我推荐的这个群真的都可以去试试,过来人告诉你资料真的都非常有用!!!
4、实践是检验真理性的唯一标准
根据基础知识点的学习进行实践操作,只有在实践中才能发现问题所在,才能了解自己的真实能力,实践出真知。
5、 攻克编程疑点和难题,充分掌握技术
在实践操作中遇到的疑点与难题,及时寻求帮助,及时攻克、解决。你可以在Python的交流群里提问,他们都会很乐意帮助你解决问题。
除此之外,我认为坚持也很重要。做每一件事都要持之以恒,学Python语言也一样。虽然Python相对于其他编程语言简单易学,但毕竟编程语言还是一门比较复杂的学科,而且它的涉及领域宽泛,功能非常之多。
比如:
还有最重要的一点,很多人学习Python肯定是想能够获得什么,那对于绝大多数人来说是为了能够找到一份高薪的工作,群里分享的资料也有面试相关的,也有接单方面的,只要你沉下心吃透是完全没有问题的。
所以,如果你想要正经学习Python语言的话,建议还是找相关专业人进行系统、正规的指导。学习Python不要操之过急,学习讲究循序渐进。加油ヾ(◍°∇°◍)ノ゙
已帮您解析出所有岗位信息,包括名称、薪资、地址、日期、剩余人数信息,望采纳哦:
import re
content = '''
Python3 高级开发工程师 上海互教教育科技有限公司上海-浦东新区 2万/月 2-18 满员
测试开发工程师 (C++/python) 上海墨数码科技有限公司上海-浦东新区 2.5万/每月 02-18 未满员
Python3 开发工程师 上海德拓信息技术股份有限公司上海徐汇区 13万/每月 02-18剩余 11人
测试开发工程师 (Python) 上海信息科技有限公司上海-浦东新区 11万/每月 02-18剩余5人
Python 高级开发工程师 上海行动教育科技股份有限公司上海-闵行区 28万/月 2-18剩余 255人
python 开发工程师 上海优似腾软件开发有限公司上海浦东新区 2.5万/每月 2-18 满员
'''
pattern = r'(.+?)\s{1,2}(\S+[\u4e00-\u9fa5]+)\s+([0-9.]+.*?月)\s+((?:0*[1-9]|1[0-2])-(?:0[1-9]|[12]\d|3[01])).*?余*((?:\d+人)|(?:未*满员))'
for job in re.findall(pattern, content):
job_info = '岗位:'+job[0]+' ,地址:'+job[1]+' ,薪资:'+job[2]+' ,日期:'+job[3]+' ,剩余人数:'+job[4]
print(job_info)
运行结果:
岗位:Python3 高级开发工程师 ,地址:上海互教教育科技有限公司上海-浦东新区 ,薪资:2万/月 ,日期:2-18 ,剩余人数:满员
岗位:测试开发工程师 (C++/python) ,地址:上海墨数码科技有限公司上海-浦东新区 ,薪资:2.5万/每月 ,日期:02-18 ,剩余人数:未满员
岗位:Python3 开发工程师 ,地址:上海德拓信息技术股份有限公司上海徐汇区 ,薪资:13万/每月 ,日期:02-18 ,剩余人数:11人
岗位:测试开发工程师 (Python) ,地址:上海信息科技有限公司上海-浦东新区 ,薪资:11万/每月 ,日期:02-18 ,剩余人数:5人
岗位:Python 高级开发工程师 ,地址:上海行动教育科技股份有限公司上海-闵行区 ,薪资:28万/月 ,日期:2-18 ,剩余人数:255人
岗位:python 开发工程师 ,地址:上海优似腾软件开发有限公司上海浦东新区 ,薪资:2.5万/每月 ,日期:2-18 ,剩余人数:满员
import re
# 定义工作岗位和薪金的正则表达式
job_regex = r'(\w+)\s+(\d+)\s+(\w+)'
salary_regex = r'\s+(\d+)'
# 读取工作岗位和薪金的文本
text = open('jobs.txt', 'r').read()
# 将文本按照正则表达式进行处理
jobs = re.findall(job_regex, text)
salaries = re.findall(salary_regex, text)
# 打印每一个工作岗位及其薪金
for job, salary in zip(jobs, salaries):
print(f"{job}: {salary}")
可以借鉴下
datalist = []
for data in datas:
for d in data:
datalist.append(
{'岗位名称': d[0], '薪资': d[1], '学历': d[2], '岗位要求': d[3], '公司名称': d[4], '公司规模': d[5],
'发布日期': d[6]})
可以使用字典来实现一一对应。例如,将需要对应的字符作为key,将对应的符号作为value,将所有的key-value对存储在一个字典中。然后遍历输入的字符串,如果字符在字典中存在,则替换为对应的符号。最后返回替换后的字符串即可。
下面是一个示例代码:
mapping = {
"。": ".", ",": ",", "!": "!", "?": "?"
}
def replace_punctuations(text):
result = ""
for char in text:
if char in mapping:
result += mapping[char]
else:
result += char
return result
使用该函数,可以将输入的文本中的中文标点符号替换为英文标点符号。
例如:
text = "有没有人会这个啊!有没有会python的学霸们!本学痴不会啊!!"
result = replace_punctuations(text)
print(result)
输出结果为:
有没有人会这个啊!有没有会python的学霸们!本学痴不会啊!!