文件名称:正则表达式示例-qt教学大纲
文件大小:5.26MB
文件格式:PDF
更新时间:2024-06-23 19:46:39
python 核心编程 中文版 高清文字版
15.4 正则表达式示例 现在我们来通读一个详细完整的例子,它展示了用正则表达式处理字符串的不同办法。第一步: 拿出一段代码用来生成随机数据,生成的数据用于以后操作。例 15.2 中,脚本 gendata.py 生成一个 数据集。虽然程序只是将生成的字符串显示到标准输出,但此输出结果也可以重定向到一个测试文 件中。 例 15.2 正则表达式练习的数据生成代码(gendata.py) 为练习使用正则表达式生成随机数据,并将产生的数据输出到屏幕. 1 #!/usr/bin/env python 2 3 from random import randint, choice 4 from string import lowercase 5 from sys import maxint 6 from time import ctime 7 8 doms = ( 'com', 'edu', 'net', 'org', 'gov' ) 9 10 for i in range(randint(5, 10)): 11 randint(0, maxint-1) # pick date 12 ctime(dtint) # date string 13 14 shorter = randint(4, 7) # login shorter 15 em = '' 16 for j in range(shorter): # generate login 17 em += choice(lowercase) 18 19 longer = randint(shorter, 12) # domain longer 20 dn = '' 21 for j in range(longer): # create domain 22 dn += choice(lowercase) 23 24 print '%s::%s@%s.%s::%d-%d-%d' % (dtstr, em, 25 dn, choice(doms), dtint, shorter, longer) 这个脚本生成 3个字段,字段由一对冒号,或双冒号分隔。第一个字段是一个随机(32 位)整数, 被转换为一个日期(见旁边的核心笔记)。第二个字段是一个随机产生的电子邮件(e-mail)地址, 后