python编程快速上手之课后习题解答

本文以《python编程快速上手_让繁琐的工作自动化》为范本,学习python并进行商机实践,本文记录了py的部分重要知识点并进行课后习题解答,如有纰漏请在评论区交流~
习题 7

  1. 创建Regex对象时,为什么常用原始字符串?
    使用原始字符串 r,表达式较为简洁,如果不加 r, 则需要写成re.compile('\\d+')来匹配多个数字
  2. search()方法返回什么?
    search 返回一个 Match对象,使用Match对象的group方法,返回实际匹配的文本分组
  3. 通过Match对象,如何获得匹配该模式的实际字符串? 通过Match对象,如何获得匹配该模式的实际字符串?
    同4
  4. 括号和句点在正则表达式中的有特殊的含义,如何指定正则表达式匹配真正的括号和句点字符?
    ()用于匹配分组, .用于匹配任意字符
    使用转义匹配
  5. findall() 返回一个字符串的列表或者字符串元组的列表,是什么决定它提供哪种返回?
    正则表达式中若有分组,将返回元组的列表;
    若无分组,直接返回找到的匹配;
  6. 正则表达式中,| + * \d \w \s \W \S \D 代表什么意思?
    | 管道 代表匹配的并列关系
    hahah| xixixi 将匹配 hahah 或 xixixi
    + 匹配一次或多次
    * 匹配0次或多次
    \d 匹配数字
    \s 匹配空格
    \W 除数字外的所有字符
    \D 除单词外的所有字符
    \S 除空格外的所有字符
  7. 正则表达式中,{3}{3,5}之间的区别是什么?
    {3} 代表长度为3的连续数字串
    {3,5}代表查找长度为[3,5]的连续数字串,优先查找长度5,4,3
  8. 如何让正则表达式不区分大小写
    re.complie('hahahxiixxiXIIXIXI',re.IGNORECASE)
    re.complie('hahahxiixxiXIIXIXI',re.I)
  9. re.DOTALL 作为第二参数传递给 re.compile / re.VERBOSE ,会匹配什么?
    re.DOTALL 该模式下遇到换行符不会停止匹配
    re.VERBOSE 该模式下空格,tab,换行符将被忽略
  10. .* *? 之间的区别是什么?
    匹配除下划线外的任意字符, .*为贪心匹配 *? 为非贪心匹配
  11. 匹配所有数字和小写字母的字符分类语法是什么?
    re.compile('r[A-Z][a-z][0-9]')
#求返回结果
 numReg = re.compile(r'\d+')
 numReg.sub('X','12 drummers, 11 pipers, five rings, 3 hens')

运行结果
17. 略
18. 写一正则表达式,匹配每3位就有一个逗号的数字
运行结果
19. 匹配Nakamoto 的完整姓名。 假定名字总是出现在姓前面,是一个大写字母开头的单词。该正则表达式必须匹配:
Satoshi Nakamoto
Alice Nakamoto
RoboCop Nakamoto
但不匹配 satoshi Nakamoto Mr.Nakamoto Nakamoto Satoshi nakamoto
python编程快速上手之课后习题解答_第1张图片

你可能感兴趣的:(基础技术)