# 常用正则表达式符号:
# '*' 匹配*号前的字符0次或多次,只是*前面的一个字符
print(re.findall(r'be*','besttest very b best beeeee'))
print(re.findall(r'be*c','bec bc beeec b'))
# '+' 匹配前一个字符1次或多次,只是+前面的一个字符
print(re.findall(r'st+','besttest is best'))
# '?' 匹配前一个字符1次或0次,只是?前面的一个字符
print(re.findall(r'st?','besttest is best'))
# '{m}' 匹配前一个字符m次
print(re.findall(r't{2}er','besttest is best letter letter'))
# '{n,m}' 匹配前一个字符n到m次
print(re.findall(r't{2,4}','besttest is best lettter letter tttttt'))
# aaa(.+?)ddd '.'代表任意一个字符,其实这个直接写 .+ 就行
作业中被正则表达式的符号搞疯了,原来还可以这么用:
def getHtml(url):
res_all = requests.get(url).text
list_all = re.findall(r'<li id="(.*)" class="menu-item menu-item-type-taxonomy menu-item-object-category (.*)"><a href="(.*)">(.*)</a></li>',res_all)
print(list_all)
getHtml('http://www.nnzhp.cn')
结果如下: