Erlo

绝了!深度解析了1道华为Python笔试题,竟然可以学会12种Python里正则表达式的用法

2022-07-14 12:30:11 发布   411 浏览  
页面报错/反馈
收藏 点赞

大家好,这里是程序员晚枫。

今天用一道华为笔试题,带大家深入掌握一项Python技巧:正则表达式。

本文主要分为4个部分:题目解析、常用方法、专业方法、注意事项

一、题目解析

先来看一下题目。

看完题目,有以下2个解题思路:

  1. 纯手写:首先把输入的字符串,用0补全为8的倍数,然后遍历字符串,每8个组成一个新的字符。
  2. 使用内置方法和标准库:使用str的内置方法,用0补全右侧,然后使用正则每8个字符进行匹配。

1、思路1:纯手写

def cut_8ch(str):
    if len(str)  8:
        if (len(str) % 8) != 0:
            width = len(str) + (8 - len(str) % 8)
            str = str.ljust(width, '0')
    str2List = []
    i = 0
    while i >').strip()
output.append(cut_8ch(tmp))

for x in output:
    for y in x:
        print(y)

2、思路2:使用内置方法和标准库

import re

str = input('请输入字符串-->>')
if len(s) % 8 != 0:
    s = s.ljust(len(s) + (8 - len(s) % 8), str(0))

res = re.findall('.{8}', s)
[print(r) for r in res]

很明显,思路2实现起来,逻辑更清晰,代码更简洁。原因在哪里呢?

今天我们重点讲一下re模块的使用。 关于str的所有自带方法,如果大家想看的话,可以在评论区告诉我,我可以另写一个篇新的文章来介绍。

二、常用方法

按照惯例,我们对Python知识的解析,直接拿源码来研究。先看一下python源码里,re模块提供的12个方法

登录查看全部

参与评论

评论留言

还没有评论留言,赶紧来抢楼吧~~

手机查看

返回顶部

给这篇文章打个标签吧~

棒极了 糟糕透顶 好文章 PHP JAVA JS 小程序 Python SEO MySql 确认