应用场景
- 特定规律字符串的处理(查找、替换、切割等)
- 邮箱、手机号、URL、IP等的格式匹配
- 爬虫项目提取特定的内容
使用原则
- 只要能够使用字符串函数解决的问题就不要使用正则
- 正则的效率比较低,并且会降低代码的可读性
- 世界上最难理解的三样东西:医生的处方、道士的神符、码农的正则
- 提醒:正则是用来写的,不是用来读的;在不知道功能的情况下,不要阅读别人的正则
正则使用
- 说明:正则的解析处理有专门的模块,在
python
中正则处理使用的是re
模块 - 相关函数
import re # 从开头进行匹配,找到返回正则结果对象,没有找到返回None # m = re.match('abc', 'abcshajsdhabcjsdjabcasdj') # 功能同上,但是是从任意位置匹配 m = re.search('abc', 'abshajsdhabcjsdjabcasdj') if m: # 匹配到的内容 print(m.group()) # 匹配到内容的位置 print(m.span()) # 匹配所有,返回一个列表(没有匹配到数据为空列表) f = re.findall('abc', 'abcsandakabcskjdkaljabc') print(f) # 先生成正则表达式对象 c = re.compile('abc') # 然后进行匹配 # m = c.match('abcasdaabcsjdjabc') m = c.search('abasdaabcsjdjabc') if m: print(m.group(), m.span()) f = c.findall('asjdhabcasdjabcjsdaljabc') print(f)
标签: 正则表达式
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~