如果其他模型不响应-英雄云拓展知识分享
132
2023-10-25
【摘要】 本书摘自《Python入门与实战》一书中第1章,第1节,由王跃进主编。
6. 匹配模式:贪婪匹配与非贪婪匹配
贪婪匹配:在满足匹配时,匹配尽可能长的字符串。非贪婪匹配:在满足匹配时, 匹配尽可能短的字符串,只要能匹配即可。默认情况下,采用贪婪匹配模式。
如果需要修改为非贪婪匹配模式,只要在表示数量的字符的后面加上“?”即可。如:
*?、+?、??、{n,m}?、{n,}?
说明:字符串中的转义字符与正则表达式中的转义字符没有任何关系。如果你使 用一个未加r的字符串作为正则表达式,那么在实际匹配时会首先进行字符串转义,然 后再进行正则表达式转义。
动手实践:请编写描述下列规则的正则表达式。
(1)由大小写字母、数字组成,且长度在[8,20]。
(2)yyyy-yy-yy, 其中y 表示数字。
(3)检验手机号:以13、15、18开头的手机号。
(4)从字符串中提取包含在(1)pattern =r'^[a-zA-Z0-9]{8,20}$'
(2)pattern =r'^(?:\d{4})-(?:\d{2})-(?:\d{2})$'
(3)pattern =r'^(?:13| 15| 18)\d{9}$'
(4)pattern=r'(?<=本节我们只是简单介绍了编写正则表达式的一些规则,更深入的内容请参考相关 资源。
练习题
1. 不同的运算符具有不同的优先级,优先级高的运算先执行,优先级低的运算后 执行,同一优先级的运算按从左到右顺序进行。实际上往往难以记住这些运算符的优 先级别,通常是采用()来改变运算次序。请在IDLE 的交互模式执行下面的语句并分 析结果填空。
(1)- 的优先级 ( 高于/低于)**的优先级。
(2)在表达式 a and b 中,如果 a 为 True, 则表达式的值为 ,如果 a 为 False, 则表达式的值为 ;在表达式 a or b 中,如果 a 为 True, 则表达式的值为 , 如果 a 为 False, 则则表达式的值为 。
(3)and 的优先级 (高于/低于)比较运算符。 not 的优先级 ( 高于/ 低于)and 的优先级。
2. 由键盘输入一个非负整数,判断这个非负整数有多少位数,如99输出2,1024 输出4。
3. 分别计算整数1~1000(包括1和1000)的所有奇数的和、所有偶数的和。
4. 由键盘输入n 个学生的成绩,找出最高分,分数之间用空格隔开。
5. 角谷猜想,是指对于任意一个正整数,如果是奇数,则乘3加1,如果是偶数, 则除以2,得到的结果再按照上述规则重复处理,最终总能够得到1。例如,假定初始 整数为5,计算过程分别为16、8、4、2、1。程序要求输入一个整数,将经过处理得 到 1 的过程输出来。
输入样例:5输出样例:
6. 国王将金币作为工资,发放给忠诚的骑士。第1天,骑士收到一枚金币;之后 两天(第2天和第3天)里,每天收到两枚金币;之后三天(第4、5、6天)里,每天收到 三枚金币;之后四天(第7、8、9、10天)里,每天收到四枚金币……这种工资发放模式 会一直这样延续下去:当连续 n 天每天收到 n 枚金币后,骑士会在之后的连续n+1 天 里,每天收到n+1 枚金币(n 为任意正整数)。你需要编写一个程序,确定从第一天开始 的给定天数内,骑士一共获得了多少金币。
输入样例:6
输出样例:14
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~