import. re- patternl-re. compile(r'[1-9]\d{1,2}')str1='四川工业科技学院00010!’ m-patternl. findall (strl)< print (m)← print(int (m[0]) +9)
时间: 2024-02-09 17:10:12 浏览: 94
这段代码中有几个语法错误,无法正常运行。首先,import 和 re 之间应该有空格;其次,patternl 应该是 pattern1;再次,m-patternl 应该是 m_pattern1。修改后的代码如下:
```
import re
pattern1 = re.compile(r'[1-9]\d{1,2}')
str1 = '四川工业科技学院00010!'
m = pattern1.findall(str1)
print(m)
print(int(m[0]) + 9)
```
这段代码的功能是从字符串 str1 中找出符合 pattern1 正则表达式的子串,即连续的 1-3 位数字,然后将其转化为整数并加上 9,最后将结果输出到控制台。在这个例子中,找到的子串是 ['000', '10'],因为其中的 '000' 符合正则表达式,而 '10' 不符合。因此,程序会输出 9 和 10。
相关问题
import re content1 = '2019-12-15 12:00' content2 = '2019-12-17 12:55' content3 = '2019-12-22 13:21' pattern = re.compile('\d{2}:\d{2}') result1 = re.sub(pattern, '', content1) result2 = re.sub(pattern, '', content2) result3 = re.sub(pattern, '', content3) print(result1, result2, result3)
这段代码的作用是将字符串中的时间部分(格式为 xx:xx)替换为空字符串,并打印出替换后的结果。
具体来说,通过 `re.compile('\d{2}:\d{2}')` 编译正则表达式,该表达式匹配两个数字加一个冒号的格式。然后,使用 `re.sub()` 函数将匹配到的部分替换为空字符串,得到结果并打印出来。
如果 `content1`、`content2`、`content3` 的值分别为 `'2019-12-15 12:00'`、`'2019-12-17 12:55'` 和 `'2019-12-22 13:21'`,则输出结果为:
```
2019-12-15 2019-12-17 2019-12-22
```
其中,每个字符串中的时间部分都被替换为空字符串。
import requests # 导入网页请求库 from bs4 import BeautifulSoup # 导入网页解析库 import pandas as pd import numpy as np import re import matplotlib.pyplot as plt from pylab import mpl danurl=[]; def get_danurl(surl): r=requests.get(surl) r.encoding='utf-8' demo=r.text soup=BeautifulSoup(demo,"html.parser") wangzhi=soup.find_all('a',string=re.compile('杭州市小客车增量指标竞价情况')) list3=' '.join('%s' %id for id in wangzhi) res_url=r'href="(.*?)"' alink = re.findall(res_url, list3, re.I | re.S | re.M) return alink def get_page(url): mydict={} r=requests.get(url) r.encoding='utf-8' demo=r.text #print(demo) soup=BeautifulSoup(demo,"html.parser") try: duan2=soup.find_all('p',class_="p")[0].text duan3=soup.find_all('p',class_="p")[2].text pattern3 = re.compile(r'(?<=个人)\d+.?\d*') gerenbj=pattern3.findall(duan2)[0] jingjiariqi=soup.find_all('p',class_="p")[0].text.split('。')[0] except IndexError: duan2=soup.find_all('p',class_="p")[2].text duan3=soup.find_all('p',class_="p")[4].text pattern3 = re.compile(r'(?<=个人)\d+.?\d*') gerenbj=pattern3.findall(duan2)[0] jingjiariqi=soup.find_all('p',class_="p")[2].text.split('。')[0] duan1=soup.find_all('p')[1].text pattern1 = re.compile(r'(?<=个人增量指标)\d+.?\d*') gerenzb=pattern1.findall(duan1)[0] pattern2 = re.compile(r'(?<=单位增量指标)\d+.?\d*') danweizb=pattern2.findall(duan1)[0] pattern4 = re.compile(r'(?<=单位)\d+.?\d*') danweibj=pattern4.findall(duan2)[0] pattern5 = re.compile(r'(?<=个人)\d+.?\d*') mingerencjj=pattern5.findall(duan3)[0] avegerencjj=pattern5.findall(duan3)[1] pattern6 = re.compile(r'(?<=单位)\d+.?\d*') mindanweicjj=pattern6.findall(duan3)[0] avedanweicjj=pattern6.findall(duan3)[1] pattern7 = re.compile(r'(?<=成交)\d+.?\d*') mingerencjs=pattern7.findall(duan3)[0] mindanweicjs=pattern7.findall(duan3)[1] 解释代码
这段代码是用来爬取杭州市小客车增量指标竞价情况的数据。首先导入了requests库和BeautifulSoup库,用于进行网页请求和解析。然后定义了一个函数`get_danurl`,用于获取竞价情况网页的链接。函数中首先发送一个GET请求获取网页内容,然后使用BeautifulSoup进行解析,找到所有包含"杭州市小客车增量指标竞价情况"文本的链接,并通过正则表达式提取出链接地址。接下来是`get_page`函数,用于获取具体页面的数据。函数中同样发送一个GET请求获取网页内容,并使用BeautifulSoup进行解析。然后通过一些规则提取出所需的数据,如个人增量指标、单位增量指标、个人竞价、单位竞价、个人成交、单位成交等。最后返回一个包含这些数据的字典。
阅读全文