常用split来输出指定字符串的盆友应该知道,使用split,需要指定分割符,知道所需字符串所在的索引位置才能输出。
而正则表达式的妙处在于,可无视复杂结构的字符串,快速找到类似结构的指定字符串;
这点对于提取网页结构的数据十分好用!
从0到1了解正则表达式,看这两篇就够了。👇
第一篇了解用法,第二篇了解compile规则。
以下记录用过的compile规则(不断更新中):
第一例:
import re
pattern=re.compile(r'DNG(\d+)')
r’DNG(\d+)’
首先匹配到DNG三个字符(属于普通字符),然后输出后面的数字(\d+)
- \d 数字:[0-9]
- “+” 匹配前一个字符1次或无限次
即输出匹配到的数字直到不匹配(输出多个数字)
第二例:
import re
pattern=re.compile(r'\D{3}\d{7}.\d{1}')
r’\D{3}\d{7}.\d{1}’
- \D 非数字:[^\d]
- \d 数字:[0-9]
- {} 花括号里的数字是几就匹配几个数字
- “.” 也属于普通字符,直接匹配,不需要反斜杆号
最后感想,re正则表达式作用广,规则多,尽量系统学习一下比较好!