我们可以通过下面的代码导入re库
import re1. 使用match()方法进行匹配
match()方法用于从字符串的开始处进行匹配,如果在起始位置匹配成功,则返回Match对象,否则返回None,语法如下
re.match(pattern, string, [flags])
pattern:表示模式字符串,由要匹配的正则表达式转换而来
string:表示要匹配的字符串
flags:可选参数,表示标志位,用于控制匹配方式,如是否区分字母大小写。
比如匹配字符串是否以"py"开头,不区分大小写代码如下
import re
pattern = r'py\w+'
string = 'python is PYTHON'
match = re.match(pattern, string, re.I) # re.I表示不区分大小写
print(match)
string = "这是python"
match = re.match(pattern, string, re.I)
print(match)
因为match是用字符串的开头开始匹配的,因为"这是python"这个字符串不是py开始的。所以返回的是None。span这个元组表示匹配的位置,第一个为开始位置,第二个为结束位置。
import re
pattern = r'py\w+'
string = 'python is PYTHON'
match = re.match(pattern, string, re.I) # re.I表示不区分大小写
print(match)
print("匹配的起始位置:", match.start())
print("匹配的结束位置:", match.end())
print("匹配的元组:", match.span())
print("匹配的字符:", match.string)
print("匹配的数据:", match.group())
2. 使用search()方法进行匹配
search()方法用于在整个字符串中搜索第一个匹配的值,找到就返回Match对象,否则返回None,语法如下:
re.search(pattern, string, [flags])
import re
pattern = r'py\w+'
string = 'python is PYTHON'
match = re.search(pattern, string, re.I) # re.I表示不区分大小写
print(match)
string = "这是python"
match = re.search(pattern, string, re.I)
print(match)
从运行结果可以看出,这个方法不仅仅在字符串的起始位置搜索,其他位置有符合的匹配也可以。
3. 使用findall()方法进行匹配
findall()方法用于在整个字符串中搜索所有符合正则表达式的字符串,并以列表的形式返回。查找不到就返回空列表。
re.findall(pattern, string, [flags])
import re
pattern = r'py\w+'
string = 'python is PYTHON'
match = re.findall(pattern, string, re.I) # re.I表示不区分大小写
print(match)
string = "这是python"
match = re.findall(pattern, string, re.I)
print(match)
4. 替换字符串
sub方法用于实现字符串替换。在爬虫中很少会用到。等遇到后和大家分享。
5. 用split()方法分割字符串
import re
pattern = r'[?|&]'
url = 'https://search.bilibili.com/live?keyword=IT蜗壳'
result = re.split(pattern, url)
print(result)
这里用?将url分割了两部分
你的问题是啥
bfadsnkfadsfmsadf
6666
加油啊
有人吗有人吗
卧槽,nb
sbycs
准备好了么
还有五分钟
爬取如下地址: url = 'http://gaosan.com/gaokao/265440.html数据,获取前100名学校的数据,如下图所示:
要求:
1. 设计函数,获取数据以后存入csv格式的文件,文件命名规则如下:学号.csv;
2. 设计函数,计算这前100名学校综合得分平均值,最大值,最小值及中位值,并把结果写入到”学号result.txt”文件中;
3. 以前10名大学星级数据折线图:
(1) x轴为大学名称,45°标在x轴上;
(2) y轴为星级,坐标轴数值系统自动分配;
(3) 折线图的标题设为“中国高校前10星级分统计图”
(4) 线形为“--”
(5) 线宽“2.5”
(6) 线色为蓝色;
(7) 标注图例;
(8) 线上标注圆形数据点;
(9) 保存绘图文件"学号.png"
4. 提交程序运行小视频;
5. 以文件形式提交源程序代码;
6. 提交运行截图;
7. 提交csv,png及text文件;
链接:https://pan.baidu.com/s/1a-cAtS8YUvsJe1skyCUQUA
提取码:g5gh
复制这段内容后打开百度网盘手机App,操作更方便哦
关于PyInstaller库,以下能够为其指定图标文件的选项是:
def foo(s):
if s == "":
return s
else:
return foo(s[1:]) + s[0]
print foo("Happy New Year")
这题运行结果是多少
有人在吗 大题目一点都不会 要死了
plt.rcParams['font.sans-serif']=['SimHei']
有无画折现图选手
import matplotlib.pyplot as plt
from matplotlib.pyplot import MultipleLocator
from matplotlib.pyplot import savefig
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False
squares=[100,98.78,82.14,81.98,81.43,81.34,80.49,80.44,80.41,80.38]
x=['北京大学','清华大学','复旦大学','浙江大学','南京大学','上海交通大学','华中科技大学','中国科学技术大学','中国人民大学','天津大学']
plt.xticks(rotation=45)
plt.title('中国高校前10得分统计图')
plt.plot(x,squares, color='blue',markerfacecolor='blue',marker='o',linestyle='--',linewidth=2.5)
plt.ylabel('综合得分',fontsize=17)
plt.ylim(79,101)
y_major_locator=MultipleLocator(5)
ax=plt.gca()
ax.yaxis.set_major_locator(y_major_locator)
plt.savefig('19131021.png')
plt.show()
plt.xticks(x, names, rotation=45)
plt.xticks(rotation=45)
x=[]
y=[]
s=0
for i in datalist :
if(s>0 and s<11):
x.append(str(i[1]))
y.append(str(i[3]))
s=s+1
有人吗有人吗