nameregex=re.compile('alt="(.*?)"\n') name=nameregex.findall(html) arearegex=re.compile('([0-9.]+)㎡\n') area = arearegex.findall(html)#找出面积 priceregex=recompile('<em>([0-9.])+)'</em>元/月') price= priceregex.findall(html)哪里错了
时间: 2024-03-09 10:51:02 浏览: 31
代码中的第三行、第五行和第七行中的正则表达式中都存在括号不匹配的问题。
在第三行代码中,正则表达式中的`\n`应该去掉。
在第五行代码中,正则表达式中的`[0-9.]`应该改为`[0-9\.]+`。
在第七行代码中,正则表达式中的`([0-9.])+`应该改为`([0-9\.]+)`,并且正则表达式中的`</em>`前后的括号应该匹配。
修改后的代码如下:
```python
nameregex = re.compile('alt="(.*?)"')
name = nameregex.findall(html)
arearegex = re.compile('([0-9.]+)㎡')
area = arearegex.findall(html) # 找出面积
priceregex = re.compile('<em>([0-9\.]+)</em>元/月')
price = priceregex.findall(html)
```
相关问题
import re p1 = re.compile(r'[(](.*?)[ g)]') p2 = re.compile(r'(.*?)[ ]')啥意思
这段代码使用了Python中内置的re模块,主要是用于字符串的正则表达式匹配。
p1 = re.compile(r'[(](.*?)[ g)]') 这行代码定义了一个名为p1的正则表达式模式,其中r表示使用原始字符串,[(]和[ g)]分别表示匹配左括号和右括号中的内容,.*?表示匹配任意字符(除了换行符)0次或多次,最终匹配结果会被保存在一个分组中。
p2 = re.compile(r'(.*?)[ ]') 这行代码定义了一个名为p2的正则表达式模式,其中r表示使用原始字符串,(.*?)表示匹配任意字符(除了换行符)0次或多次,最终匹配结果会被保存在一个分组中,[ ]表示匹配空格。
综上,这段代码主要是定义了两个正则表达式模式,用于从文本中提取需要的信息。其中p1用于提取括号中的内容后面跟着的g,p2用于提取空格之前的内容。
pattern = re.compile( '<dd>.*?board-index.*?>(.*?) </i>.*?data-src="(.*?)".*?name.*?a.*?>(.*? )</),*2star,*2(,*9) </0》,*/releasetime,*2(*I
这段代码是使用Python中的re模块来解析网页内容。其中,pattern = re.compile('<dd>.*?board-index.*?>(.*?)</i>.*?data-src="(.*?)".*?name.*?a.*?>(.*?)</a>.*?star.*?>(.*?)</p>.*?releasetime.*?>(.*?)</p>.*?integer.*?>(.*?)</i>.*?fraction.*?>(.*?)</i>.*?</dd>', re.S)是定义了一个正则表达式的模式,用于匹配特定格式的文本。
items = re.findall(pattern, html)则是使用该模式来在html中查找所有匹配的内容,并以列表的形式返回结果。