1.>>> print "\bhi"

hi

print r"\bhi"

\bhi Python中遇到\会对后面的字符进行转义,而r(raw:生的。未加工的)不会对后面的字符串进行转义操作 2.re.findall(r"hi", text)

re是python里的正则表达式模块。findall是其中一个方法,用来按照提供的正则表达式,去匹配文本中的所有符合条件的字符串。返回结果是一个包含所有匹配的list。

3.“.”在正则表达式中表示除换行符以外的任意字符。会把输入的文本中每个字符都取出来。 '\S'在正则表达式中表示除换行符,空格以外的任意字符。会把输入的文本中每个非空格字符都取出来。 4.‘I.e’会匹配句子中以I开头,以e结尾的较长的句子,叫贪婪匹配 .‘I.?e’会分别匹配句子中以I开头,以e结尾的较短的句子,叫懒惰匹配 5.表示数字的方法: (1):[0-9] (2):\d 如果要限定长度,就用{}代替+,大括号里写上你想要的长度。比如11位的数字:\d{11} *表示的任意长度包括0,也就是没有数字的空字符也会被匹配出来

text = "site sea sue sweet se case sse ssee18789455549345665 loses" m = re.findall(r"1\d+", text) m = re.findall(r"1.\d", text) 输出m:['18789455549345665'] m = re.findall(r"1\d", text) 输出m:['18'] m = re.findall(r"1\d{5}", text) 输出m:['187894'] text = "site sea sue sweet se case sse ssee187894555493456 65 loses" m = re.findall(r"\d+", text) 输出m:['187894555493456', '65'] m = re.findall(r"\d", text) 输出m:['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '187894555493456', '', '65', '', '', '', '', '', '', ''] 6.元字符 \w - 匹配字母或数字或下划线或汉字(3.x版本可以匹配汉字,但2.x版本不可以)

\s - 匹配任意的空白符

^ - 匹配字符串的开始

$ - 匹配字符串的结束 \S其实就是\s的反义,任意不是空白符的字符。同理,还有:

\W - 匹配任意不是字母,数字,下划线,汉字的字符

\D - 匹配任意非数字的字符

\B - 匹配不是单词开头或结束的位置

[a]的反义是[^a],表示除a以外的任意字符。[^abcd]就是除abcd以外的任意字符。

*、+、{}来表示字符的重复。其他重复的方式还有:

? - 重复零次或一次

{n,} - 重复n次或更多次

{n,m} - 重复n到m次 7.随机数 random.randint(a, b)可以生成一个a到b间的随机整数,包括a和b。 random.uniform(a, b)生成a、b之间的随机浮点数。不过与randint不同的是,a、b无需是整数,也不用考虑大小 random.choice(seq)从序列中随机选取一个元素。seq需要是一个序列,比如list、元组、字符串。 random.randrange(start, stop, step)生成一个从start到stop(不包括stop),间隔为step的一个随机数。 random.sample(population, k)从population序列中,随机获取k个元素,生成一个新序列。sample不改变原来序列。 random.shuffle(x)把序列x中的元素顺序打乱。shuffle直接改变原有的序列。 引入的时候两种写法: (1)from random import randint randint(1, 10) (2)import random random.randint