正则表达式的使用
例一、
def is_valid_username(username):
"""
判断用户名是否有效(用户名由字母、数字、下划线构成且长度为6-20个字符)
:param username: 用户名
:return: 有效返回True否则返回False
"""
if 6 <= len(username) <= 20:
for i in username:
if not ('0' <= i <= '9' or 'A' <= i <= 'Z'
or 'a' <= i <= 'z' or i == '_'):
return False
return True
return False
def main():
username = input('请输入:')
print(is_valid_username(username))
if __name__ == '__main__':
main()
小结:以上复杂的判断,其实可以用 r’^[0-9a-zA-z_]{6,20}’ 来判断。这就是正则表达式的应用之一~,方便了许多~
正则表达式 - 工具 - 定义字符串的匹配模式
re - regular expression
例二、判断输入的QQ号及用户名是否正确~
import re
def main():
username = input('请输入用户名:')
qq = input('请输入QQ号:')
# 多次用到正则表达式,就用这种写法
# pattern1 = re.compile(r'^[0-9a-zA-z_]{6,20}')
# m = pattern1.match(username)
m = re.match(r'^[0-9a-zA-Z_]{6,20}$', username)
q = re.match(r'^[0-9]\d{4,11}$', qq)
if not m:
print('请输入有效用户名!')
if not q:
print('请输入有效的QQ号!')
if m and q:
print('输入有效!')
if __name__ == '__main__':
main()
小结:这里用到了 ^和 $
代表了字符串的开始与结束;[a_z] 代表从字母 a 到字母 z ,\d代表数字
例三、查询输入的手机号码是哪家供应商的?(移动、联通或者电信)
def main():
num = input('请输入电话号码:')
if re.match(r'^13[4-9]\d{8}|^15[0-27-9]\d{8}|^18[2-47-8]\d{8}|^147\d{8}|^178\d{8}|$',num):
print('移动号码!')
elif re.match(r'^13[0-2]\d{8}|^15[5-6]\d{8}|^18[5-6]\d{8}|^145\d{8}|^176\d{8}|$',num):
print('联通号码!')
elif re.match(r'^133\d{8}|^153\d{8}|^18[0-19]\d{8}|^177\d{8}|$',num):
print('电信号码!')
else:
print('该手机号码不存在!')
if __name__ == '__main__':
main()
小结:正则表达式里的分枝条件指的是有几种规则,如果满足其中任意一种规则都应该当成匹配,具体方法是用 | 把不同的规则分隔开
版本控制:
1.Subversion 必须有中央服务器
2.Git 可以先在本地同步
git –version 确认是否安装Git
git init 加入版本控制
git add. 添加
git status 查看
git commit -m ‘项目的初始版本’ 提交并写原因
git reset HEAD^ 回到上一版本
git reset 版本号 回到对应版本号的版本
git pull 网址 与服务器上代码同步
git push origin master 往服务器上传代码
git clone 网址 下载项目