Day05 学习笔记
正则表达式基础(re 模块)
- 核心方法:
re.match(pattern, string):从开头匹配;不匹配则返回None。re.search(pattern, string):在任意位置查找首个匹配。re.sub(pattern, repl, string):按模式替换为repl。
- 常见元字符与语法:
- 字符类与简写:
[aeiou]、[^aeiou]、\d(数字)/\w(字母数字下划线)/\s(空白)/其大写为取反。 - 量词:
*(0+)+(1+)?(0或1){m,n}(m 到 n 次),加?表示非贪婪(如.*?)。 - 位置:
^行首、$行尾、.任意单个字符(默认不匹配换行)。 - 分组与管道:
( ... )捕获分组,|选择(或)。
- 字符类与简写:
- 分组结果:
m.group()/m.group(0)整体匹配;m.group(1)、m.group(2)取对应分组;m.groups()返回所有分组元组;m.span()返回匹配区间。
- 示例要点:
- 从字符串中匹配片段与提取分组,如
re.match("(\w+)\s(\w+)(\W)", s)获取三个分组。 - 组合提取:
re.search("(1[34578]\\d{9}).*?(\\w+\\s\\w+.)", s)先提取手机号,再提取紧随的英文短语。 - 校验 IPv4:使用分段范围校验并以点连接,整串以
^ ... $锚定。 - 文本清洗:
- 去除行内注释(
#开头及其后内容):re.sub("\\s#.*$", "", s)。 - 仅保留数字:
re.sub("\\D", "", s)。
- 去除行内注释(
- 从字符串中匹配片段与提取分组,如
文件与字符串处理小结
- 合并两段文本并排序:读取两段字符串,拼接后用
list()转为字符列表,list.sort()排序;再用''.join(list)还原为字符串并写入文件。 - 键盘输入处理:读取输入字符串,调用如
upper()等方法处理后写入目标文件。
控制流实战
- 按奇偶求和:
- 偶数和:
1/2 + 1/4 + ... + 1/n。 - 奇数和:
1/1 + 1/3 + ... + 1/n。 - 注意使用浮点除法(如
1.0/i)。
- 偶数和:
- 组合匹配:三重循环枚举多对一一对应关系;通过条件约束排除不合法的组合后打印结果。
Day05 学习笔记
https://blog.pangcy.cn/2018/10/17/后端编程相关/python/python2基础/Day05 学习笔记/