欢迎来到天天文库
浏览记录
ID:13804338
大小:76.00 KB
页数:7页
时间:2018-07-24
《python核心编程第15章学习笔记》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Python核心编程学习笔记之chapter15这一章蛮重要,代码都敲进去试过,请批评指正。方便起见,程序写在py文件中。1. 识别下列字符串:“bat,”“bit,”“but,”“hat,”“hit,”或“hut” #!/usr/bin/envpythonimportrepattern='[bh][aiu]t'm='bkibit'n=re.search(pattern,m)ifnisnotNone:printn.group()Ps:还可以findall函数2.匹配用一个空格分隔的任意一对单词,比如,名和姓 pattern='[A-Za-z]+[A-Za-z]+'
2、3.匹配用一个逗号和一个空格分开的一个单词和一个字母。例如,英文人名中的姓和名 的首字母 pattern='[A-Za-z]+.[A-Za-z]'4. 匹配所有合法的Python标识符pattern='[w]+'Ps:不是非常完美,&算不算?5.请根据您(读者)本地关于地址的格式写法匹配一个街道地址(你写出的正则表达式要 尽可能通用以匹配任意数目的表示街道名字的单词, 包括类型指示)。比如,美国的街道地址使用这 样的格式:1180BordeauxDrive. 使你写的正则表达式尽可能通用,要求能够匹配多个单词的街道 名字, 如:3120DelaCruz
3、Boulevard. pattern='[d]+[A-Za-z]+'Ps:1180BordeauxDriveofNewYork呢? 6.匹配简单的以“www.”开头,以“.com”作结尾的Web域名,例如:www.yahoo.com.附 加题:使你写的正则表达式还支持其他顶级域名:.edu,.net等,比如:www.ucsc.edu. pattern='w{3}.[w]+.[w]+'Ps:seach与match的差别?7.匹配全体Python整数的字符串表示形式的集合 pattern='d+'8. 匹配全体Python长整数的字符串表示形式的集
4、合pattern='d+[L]?'9. 匹配全体Python浮点数的字符串表示形式的集合pattern='d+.d*'10.匹配全体Python复数的字符串表示形式的集合 pattern='d*.?d*+d*.?d*j'11.匹配所有合法的电子邮件地址(先写出一个限制比较宽松的正则表达式,然后尽可能加 强限制条件,但要保证功能的正确性)。 pattern='w+@w+.w+'12.匹配所有合法的Web网站地址(URLs)(先写出一个限制比较宽松的正则表达式,然后尽可能加强限制条件,但要保证功能的正确性)。pattern='www.
5、w+.w+'13.type().type()内建函数返回一个对象类型,此对象显示为Python的字符串形式, 如下所示: >>>type(0) >>>type(.34) >>>type(dir) 请写一个正则表达式,能从这个字符串中提取出类型的名字。你的函数能实现以下功能:如 果以字符串“”做输入,会返回类型“int”.(返回其他类型也同理,如,返回类型‘floa
6、t’, ‘builtin_function_or_method’等)提示:正确的结果保存在类和某些内建类型的__name__属性 里。 pattern=''n=re.search(pattern,"")ifnisnotNone:printn.group(1)14.正则表达式。在15.2小节里,我们给出一个匹配由一位或两位数字代表一月到九月的 字符串形式(“0?[1-9]”)。请写出一个正则表达式 表示标准日历上其它的三个月(十月、十一月、 十二月)。 pattern='1[0-2]'15.正则表达式。在1
7、5.2小节里,我们给出一个匹配信用卡卡号的模式:(“[0-9]{15,16}”). 但这个模式不允许用连字符号分割信用卡卡号中的数字。请写出一个允许使用连字符的正则表达式, 但要求连字符必须出现在正确的位置。例如,15位的信用卡卡号的格式是4-6-5,表示四个数字,一 个连字符,后面接六个数字、一个连字符,最后是五个数字。16位的信用卡卡号的格式是4-4-4-4, 数位不足时,添0补位。'([0-9]{4}-?[0-9]{4}-?[0-9]{4}-?[0-9]{4}?)
8、([0-9]{4}-?[0-9]{6}-?[0-9]{5})'ps:基于此思
此文档下载收益归作者所有