import re #在Python中正则表达式的使用 #findall() #match() #search() #第一个参数为正则表达式,第二个参数为要检索的字符串 #result=re.findall(‘Hi‘,s) #findall()查找字符串中所有满足正则表达式规律的内容,并将结果依次保存在列表中 #result=re.match(‘hi‘) #match()从字符串开头位置进行比较,如果从开头位置就匹配成功,将匹配到的内容保留下来 #match()在匹配到内容后,返回的结果是一个对象 #match()更适合用于进行数据校验 #result=re.search(‘Hi‘,s) #search()与match()相似,在检索到匹配的内容后,也返回一个对象 #search()与match()不同在于不要求从字符串开头位置进行匹配 #search()找到一个匹配的内容就会退出执行 #search()更适合用于判断是否出现过 #元字符 #. 表示除换行符之外的所有符号 #[a-zA-Z0-9_] 表示一个出现在[]范围内的任意一个字符 #\d 表示一个数字,等效于[0-9] #\D 表示一个非数字,等效于[^0-9] #\s 表示一个空白字符,空格、换行等 #\S 表示一个非空白字符 #\w 表示一个单词字符,数字、字母、下划线 #\W 表示一个非单词字符 #* 表示*前的字符出现0次或多次 #+ 表示+前的字符出现1字或多次 #? 表示?前的字符出现0次或1次 #匹配次数时,默认按照贪婪模式匹配,取最长的内容 #{数字} 表示{}前的字符出现指定次数 #{数字1,数字2} 表示{}前的字符最少出现数字1次,最多出现数字2次 #^ 表示位置,字符串开头位置,等效于\A #$ 表示位置,字符串结束位置,等效于\Z #\b 表示位置,单词字符和非单词字符之间的位置 #‘\b‘作为字符串,会被转义成符号,如果将传递给findall()就不能表示边界 #‘\\b‘作为字符串,会被转义成‘\b‘符号,将‘\b‘符号传递给findall()就可以表示边界 #\B 表示位置,非边界 s=‘Hi,I am Shirly Hilton.My phone:12345678901.My ID:88888999999999‘ result=re.findall(r‘\b[0-9]{11}\b‘,s) #查询字符串中的手机号码 print(result)