码迷,mamicode.com
首页 > 其他好文 > 详细

re模块(01)

时间:2018-12-08 22:42:15      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:mpi   www   正则表达式   color   结果   import   ber   第一个   mat   

# 计算器
# re模块
# 正则表达式 —— 字符串匹配的
# 学习正则表达式
# 学习使用re模块来操作正则表达式
while True:
    phone_number = input(please input your phone number : )
    if len(phone_number) == 11             and phone_number.isdigit()            and (phone_number.startswith(13)             or phone_number.startswith(14)             or phone_number.startswith(15)             or phone_number.startswith(18)):
        print(是合法的手机号码)
    else:
        print(不是合法的手机号码)


import re
phone_number = input(please input your phone number : )
if re.match(^(13|14|15|18)[0-9]{9}$,phone_number):
        print(是合法的手机号码)
else:
        print(不是合法的手机号码)


# 绿茶 白茶 黄茶 青茶(乌龙茶) 红茶 黑茶
# 发酵程度和制作工艺
# print(r‘\\n‘)
# print(r‘\n‘)

import re
# findall
# search
# match

ret = re.findall([a-z]+, eva egon yuan)
    # 返回所有满足匹配条件的结果,放在列表里
print(ret)

ret = re.search(a, eva egon yuan)
if ret:
     print(ret.group())
# 从前往后,找到一个就返回,返回的变量需要调用group才能拿到结果
# 如果没有找到,那么返回None,调用group会报错

ret = re.match([a-z]+, eva egon yuan)
if ret:
    print(ret.group())
# match是从头开始匹配,如果正则规则从头开始可以匹配上,就返回一个变量。
# 匹配的内容需要用group才能显示
# 如果没匹配上,就返回None,调用group会报错

ret = re.split([ab], abcd)
# 先按‘a‘分割得到‘‘和‘bcd‘,在对‘‘和‘bcd‘分别按‘b‘分割
print(ret)  # [‘‘, ‘‘, ‘cd‘]

ret = re.sub(\d, H, eva3egon4yuan4,1)
#将数字替换成‘H‘,参数1表示只替换1个
print(ret) #evaHegon4yuan4

ret = re.subn(\d, H, eva3egon4yuan4)
#将数字替换成‘H‘,返回元组(替换的结果,替换了多少次)
print(ret)

obj = re.compile(\d{3})
#将正则表达式编译成为一个 正则表达式对象,规则要匹配的是3个数字
ret = obj.search(abc123eeee) #正则表达式对象调用search,参数为待匹配的字符串
print(ret.group())
ret = obj.search(abcashgjgsdghkash456eeee3wr2) #正则表达式对象调用search,参数为待匹配的字符串
print(ret.group())  #结果 : 123

import re
ret = re.finditer(\d, ds3sy4784a)   #finditer返回一个存放匹配结果的迭代器
print(ret)  # <callable_iterator object at 0x10195f940>
# print(next(ret).group())  #查看第一个结果
# print(next(ret).group())  #查看第二个结果
# print([i.group() for i in ret])  #查看剩余的左右结果
for i in ret:
    print(i.group())


import re
ret = re.search(^[1-9](\d{14})(\d{2}[0-9x])?$,110105199912122277)
print(ret.group())
print(ret.group(1))
print(ret.group(2))

import re

ret = re.findall(www.(baidu|oldboy).com, www.oldboy.com)
print(ret)  # [‘oldboy‘]     这是因为findall会优先把匹配结果组里内容返回,如果想要匹配结果,取消权限即可

ret = re.findall(www.(?:baidu|oldboy).com, www.oldboy.com)
print(ret)  # [‘www.oldboy.com‘]

ret=re.split("\d+","eva3egon4yuan")
print(ret) #结果 : [‘eva‘, ‘egon‘, ‘yuan‘]

ret=re.split("(\d+)","eva3egon4yuan")
print(ret) #结果 : [‘eva‘, ‘3‘, ‘egon‘, ‘4‘, ‘yuan‘]

 

re模块(01)

标签:mpi   www   正则表达式   color   结果   import   ber   第一个   mat   

原文地址:https://www.cnblogs.com/20181013python/p/10089010.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!