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 学习笔记/
作者
子洋
发布于
2018年10月17日
许可协议