Python之模块

Random模块

random()返回0≤n<0之间的随机实数n

getrandbits(n)以长整形返回n个随机位

uniform(a,b)返回随机实数n,a≤n<b

randrange(start,stop,step),返回range(start,stop,step)中的随机数

choice(seq),从序列seq中返回随意元素

shuffle(seq[,random]),将给定(可变)序列的元素进行随机移位,每种排列的可能都近似相等。

sample(seq,n),从给定序列中(均一地)选择给定给定数目的元素,同时确保元素互不相同。]

re模块

通配符:   .  可以匹配除换行符外的任意单个字符

转义符:\\  对特殊字符进行转义使之可以作为普通字符使用,如'python\\.org'只会匹配'python.org',也可以使用原始字符串如r'python\.org'

字符集:[],可以匹配它包括的任意一个字符,如需反转字符集,可以在开头使用^,如[^abc]匹配除a,b,c之外的任意字符

选择符:|(又称管道符),如'python|perl'

子模式:用圆括号括起来需要的部分如'p(ython|erl)'

可选项:在子模式的后边加上?,它就变成了可选项,可能出现在匹配字符串中但是并非必需。如r'(http://)?(www\.)?python.org'只能匹配

    'http://www.python.org'

    'http://python.org'

    'www.python.org'

    'python.org'

    值得注意的地方:对点号进行了转义;使用原始字符串减少了反斜线的数量;每个子模式都用圆括号括起来;可选子模式出现与否均可,而且相互独立。

    (pattern)*,允许模式重复0次或多次

    (pattern)+,允许模式重复1次或多次

    (pattern){m,n},允许模式重复m~n次

字符串的开头与结尾:开头^,结尾$

re模块的一些重要函数

compile(pattern[, flags]):根据包含正则表达式的字符串创建模式对象,使用compile完成一次转换之后在每次使用模式的时候就不用进行转化。

search(pattern,string[,flags]):在字符串中寻找第一个匹配给定正则表达式的子字符串,一旦找到返回MatchObject(值为True),否则返回None(值为False),所以可以用在条     件语句中。

match,在给定字符串的开头匹配正则表达式。

split(pattern,string[,maxsplit=0]):根据模式的匹配项来分割字符串,返回值是字符串的列表,maxsplit是最多可以分割的次数。

sub(pat,repl,string[,count=0]):使用给定的的替换内容将匹配模式的子字符串替换掉

escape(string):对字符串中所有可能被解释为正则运算符的字符进行转义。

匹配对象和数组

组是放置在圆括号内的子模式,租的序号取决于它左侧的括号数,组0就是整个模式

group([group1,...])返回给定模式中与给定族匹配的字符串,如果没有给出组号默认为0组,如果给定一个组号会返回单个字符串,否则会将对应给定组数的字符串作为元组返回

start([gruop])返回给定组匹配项的开始位置。

end([grop])返回给定组的匹配项的结束位置(不包括组的结束位置)

span([group])返回一个组的开始位置和结束位置。

作为替换的组号和函数

re.sub可在替换字符串中使用组号,在替换内容中所有以'\\n'形式出现的任何转义序列都会被模式中与组n匹配的字符串替换掉

如,emphasis_pattern=r'\*([^\*]+)\*'

>>>re.sub(emphasis_pattern,r'<em>\1</em>','hello.*world*')

'hello.<em>world</em>!'‘

 

 

 

 

 

 

 

 

 

posted on 2014-03-04 19:32  我是咖啡豆哈  阅读(182)  评论(0)    收藏  举报

导航