Python——正则表达式(2)

# -*- coding:Utf-8 -*-
#导入re模块
import re

#原始字符串
c = "c:\\\\desktop"
print c
#假设desktop的父路径是c:\\我们如何匹配到呢
result = re.match("c:\\\\\\\\",c)
print result.group()
#但是这样很复杂 容易让人迷
#所以在python 中提供一个r表示原生字符
result = re.match(r"c:\\\\",c)
print result.group()

#经常我们匹配的字符并不是值得到开头的单字符
name = "nihao"

result = re.match("\w+",name)
print "+表示匹配出现1次或者无限次 等价于{1,}:"+result.group()

result = re.match("[a-z]{1,}",name)
print result.group()

#*表示出现0次或者无限次 相当于{0,}
result = re.match("[a-z]*",name)
print result.group()

result = re.match("[a-z]{0,}",name)
print result.group()

#?匹配一个字符零次或者一次  要么有 要么没有,相当于{0,1}最多1次最少0次
age="22"
result = re.match("[0-9]?",age)
print result.group()

#{m,n}最多n次最少m次 {m,}最少m次,最多无限次{m}制定m次
result = re.match("[0-9]{2}",age)
print result.group()


#test1
email="435302451@qq.com"
#首先分析字符串 数字9位然后一个@符号 然后一个单词字符qq 一个非单词字符. 最后还是个单词字符
result = re.match("\d+\S\w+\S\w+",email)
print result.group()

#test2  匹配o到99的数字
age = raw_input("请输入0-99的数字")
result = re.match("[0-9]?[0-9]",age)
print result.group()
'''age = raw_input("请输入0-99的数字")
result = re.match("\d?\d",age)
print result.group()'''

#test2  匹配自定义163邮箱 前面有4到20位
email = raw_input("请输入你的邮箱")
result = re.match("\d{4,20}\S\d+\S\w+",email)
print result.group()
'''email = raw_input("请输入你的邮箱")
result = re.match("\d{4,20}@163\S\w+",email)
print result.group()'''


'''
c:\\desktop
c:\\
c:\\
+表示匹配出现1次或者无限次 等价于{1,}:nihao
nihao
nihao
nihao
2
22
435302451@qq.com
请输入0-99的数字99
99
请输入你的邮箱2345@163.com
2345@163.com
'''
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值