重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
#day-2
'''
author:hello-python
date:2019.1.15
goal:正则表达式
'''
import re
line01 = 'hellopython'
def regtest(reg_str,line = line01):
test = re.match(reg_str, line)
if test:
print(test.group(1))
else:
print("匹配失败!")
# + :表示前面的字符,至少出现一次
reg_str04 = '.*(h.+l).*' # (b.+b)表示b与b之间至少有一个字符
regtest(reg_str04) # result : bcxb
#{n} ;控制前面字符出现次数
#a{2}:表示a出现次数
#b{3,4} :表示b至少出现3次最多出现4次
#c{4,}:表示c至少出现4次
reg_str05 = '.*(b.{2}b).*' #(b.{2}b) 表示匹配到b与b之间,只有两个字符;
reg_str06 = '.*(b.{3,4}b).*' #(b.{3,4}b) 表示b与b之间匹配到3到4个字符;
reg_str07 = '.*(b.{4,}b).*' #(b.{4,}b) 表示b与b之间至少4个字符;
# | :表示 或
#(abc|123) : 表示匹配到abc或者123,都算匹配成功
reg_str08='.*(hel|abc)'
reg_str09='.*(abc|hel)'
#[]:表示 里面包含的内容都可以进行匹配,包含内容只有表面字符含义
#[abcd]:表示 只要这个字符为a/b/c/d中的一个都可以匹配成功
#[0-9] :表示 只要这个字符在0-9 区间内,都可以匹配成功
#[^x]:表示匹配 字符不为x
line02='电话:17629261608'
reg_str10='.*(1[76][0-9]{9}).*'
reg_str11='.*(1[76][^1]{9}).*'
regtest(reg_str10,line02) # result :17629261608
regtest(reg_str11,line02) # result : 匹配失败!
# \s 表示匹配空格,匹配一次
# \S 表示匹配不是空格的字符,匹配一次
#\w 表示匹配 A-Z、0-9、_ 中的容易字符,匹配一次
#\W与\w 相反
#\d 表示数字
# [\u4E00-\u9FA5] : 表示所有汉字,unicode 编码
def regtest_test(reg_str,line=line01):
test = re.match(reg_str,line)
if test:
print(test.group(1)+':' +test.group(2)+ '-'+test.group(3)+ '-'+test.group(4))
else:
print("匹配失败~!")
#简单实例:
str01 = '小王出生于2000年2月2日'
str02 = '小刘出生于2001-01-20'
str03 = '小娟出生于1999/9/9'
str04 = '小敏出生于1998.8.5'
str = [str01,str02,str03,str04]
#提取出姓名+出生日期
#匹配模式
reg_str12 = '(.*)出生于(\d{4})[.年/-](\d{1,2})[.月/-](\d{1,2}).*?'
for i in range(4):
regtest_test(reg_str12,str[i])
执行结果
小王:2000-2-2
小刘:2001-01-20
小娟:1999-9-9
小敏:1998-8-5
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
创新互联公司服务项目包括吉林网站建设、吉林网站制作、吉林网页制作以及吉林网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,吉林网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到吉林省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!