模块重点面试题

1、re的match和search区别?

"""
match函数只检测字符串开头位置是否匹配,匹配成功之后才会返回结果,否则返回None

search函数会在整个字符串内查找匹配,只找到第一个匹配然后返回一个包含匹配信息的对象,该对象可以通过调用group方法得到匹配的字符串,如果没有匹配到字符串就返回None
"""

2、什么是正则的贪婪匹配?什么是非贪婪匹配?两者的区别?

"""
贪婪模式:能匹配到的最大部分
“+”中的+会一直查找到最后一个符合条件的字符

非贪婪模式:匹配越少越好
“+?”会匹配到第一个符合条件的字符就停止
"""

3、json序列化时,默认遇到中文会转换成Unicode,如果要想保留中文怎么办?

"""
import json
a=json.dumps({'ddf':'你好'}, ensure_ascii=False)

"""

4、如果判断一个邮箱是否合法

"""
import re

if re.match(r'^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$', email):
    print('right')
else:
    print('wrong')
"""

5、写python爬虫都用到了那些模块,分别是做什么用的?

"""
requests:请求库
BeautifulSoup:解析库
pymysql:存储库,操作mysql数据库的
pymongo:操作MongoDB数据库的
selenium:自动化测试工具
"""
上一篇:常用正则


下一篇:第四章 封装效验js