果以字符串“”做输入,会返回类型“int”.(返回其他类型也同理,如,返回类型‘float’,
‘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.正则表达式。在15.2小节里,我们给出一个匹配卡号的模式:(“[0-9]{15,16}”).
但这个模式不允许用连字符号分割卡号中的数字。python核心编程请写出一个允许使用连字符的正则表达式,
但要求连字符必须出现在正确的位置。例如,15位的卡号的格式是4-6-5,表示四个数字,一个连字符,后面接六个数字、一个连字符,最后是五个数字。16位的卡号的格式是4-4-4-4,数位不足时,添0补位。
([0-9]{4}\-?[0-9]{4}\-?[0-9]{4}\-?[0-9]{4}?)|\
([0-9]{4}\-?[0-9]{6}\-?[0-9]{5})
ps:基于此思路还可以写出限制更宽松或更严格的条件,这里的问号我以为是出现一次或零次的意思,后来证实并非如此,但这个表达式是可行的
16.修改脚本gendata.py的代码,使数据直接写入文件redata.txt中,而不是输出到屏幕上。
#!/usr/bin/envpython
fromrandomimportrandint,choice
fromstringimportlowercase
fromsysimportmaxint
fromtimeimportctime
doms=(com,edu,net,org,gov)
t=
foriinrange(randint(5,10)):
dtint=randint(0,maxint-1)
dtstr=ctime(dtint)#pickdate#datestring
#loginshorter
#generateloginshorter=randint(4,7)em=forjinrange(shorter):
em+=choice(lowercase)
longer=randint(shorter,12)
dn=
forjinrange(longer):
dn+=choice(lowercase)
t+=%s::%s@%s.%s::%d-%d-%d\n%(dtstr,em,
dn,choice(doms),dtint,shorter,longer)
f=open(C:/python27/redata.txt,a)
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-28452-2.html