【Python面试题】-正则表达式
1. Python 里 match 与 search 的区别?
match()函数只检测 RE 是不是在 string 的开始位置匹配, search()会扫描整个 string 查找匹配;
也就是说 match()只有在 0 位置匹配成功的话才有返回, 如果不是开始位置匹配成功的话,match()就返回 none。
2. Python 字符串查找和替换?(2018-3-30-lxy)
1. re.findall(r’目的字符串’,’原有字符串’) #查询
2. re.findall(r'cast','itcast.cn')[0]
3. re.sub(r‘要替换原字符’,’要替换新字符’,’原始字符串’) 4. re.sub(r'cast','heima','itcast.cn')
3. 用 Python 匹配 HTML g tag 的时候,<.*> 和 <.*?> 有什么区别?
(2018-3-30-lxy)
<.*>是贪婪匹配,会从第一个“<”开始匹配,直到最后一个“>”中间所有的字符都会匹配到,中间可能会包含 “<>”。
<.*?>是非贪婪匹配,从第一个“<”开始往后,遇到第一个“>”结束匹配,这中间的字符串都会匹配到,但是 不会有“<>”。
4.请写出下列正则关键字的含义?
语法 |
说明 |
表达式 实例 |
完整匹配的 字符串 |