成都网站建设设计

将想法与焦点和您一起共享

python正则表达式-1day-创新互联

#day-1
'''
author:hello-python
date:2019.1.14
goal:正则表达式
'''
import re
#1)

line = 'Helllopython'
#^H 表示匹配以w开头的字符串,只匹配一次;
#.表示该字符可为任意字符,只匹配一次;
#* 表示前面的字符可以出现任意次,至少0次,多次匹配;
reg_str1 = '^H.*'
#re.match 函数
#第一个参数是匹配的格式;
#第二个参数是匹配字符串;
#返回值为:匹配成功,返回match对象,是否返回:none
if re.match(reg_str1,line):
    print("匹配成功了~")   #reg_str1 = '^w.*'  匹配成功
else:
    print("匹配失败咩")    #reg_str1 = '^w.*'  匹配失败
#返回:匹配成功~

#2)

#12$表示匹配以23结尾的字符串,匹配一次;
line2 = 'Helllopython'
reg_str2 = '^H.*n$'
if re.match(reg_str2,line2):
    print("匹配成功~")
else:
    print("匹配失败咩~")
#返回:匹配成功~

#3)

line3 = 'hellopythonzuiku'
#() 内为匹配模式,通过group函数可以取出匹配的结果;
#正则表达式贪婪模式:从左边开始匹配;
reg_str3 = '.*(o.*o).*'
test01 = re.match(reg_str3,line3)
if test01:
    print(test01.group(1))    
else:
    print("匹配失败咩~!")   
#返回结果opytho

#4)
#知识点:正则表达式的贪婪与非贪婪匹配

#如:String str="abcxbc";
#    Patter p="ab.*c";
#贪婪匹配:正则表达式一般趋向于大长度匹配,也就是所谓的贪婪匹配。
#如上面使用模式p匹配字符串str,结果就是匹配到:abcxbc(ab.*c)。
#非贪婪匹配:就是匹配到结果就好,就少的匹配字符。
#如上面使用模式p匹配字符串str,结果就是匹配到:abc(ab.*c)。

#编程中如何区分两种模式
#  默认是贪婪模式;在量词后面直接加上一个问号?就是非贪婪模式。
# 量词:{m,n}:m到n个
#    *:任意多个
#   +:一个到多个
#   ?:0或一个
#了解了贪婪模式和非贪婪模式后继续
reg_str03 = '.*?(h.*o).*'    #半贪婪模式    
reg_str04 = '.*?(h.*?o).*'    #非贪婪模式  
test01 = re.match(reg_str03,line3)
test02 = re.match(reg_str04,line3)

if test01 and test02:
   print(test01.group(1))
   print(test02.group(1))
else:
    print("匹配失败!!!!")
#返回 匹配失败!

匹配结果:
hellopytho
hello

创新互联是一家集网站建设,东安企业网站建设,东安品牌网站建设,网站定制,东安网站建设报价,网络营销,网络优化,东安网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

可以了理解 贪婪模式匹配的字符多,非贪婪模式匹配的字符少;

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享名称:python正则表达式-1day-创新互联
当前URL:http://chengdu.cdxwcx.cn/article/cepcsg.html