record11 正则表达式

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)

  

posted @ 2018-01-18 21:34  minkillmax  阅读(112)  评论(0编辑  收藏  举报