match object 方法和属性
属性变量
pos 匹配目标字符串的开始位置
endpos 匹配目标字符串的结束位置
re 正则表达式
string 目标字符串
lastgroup 最后一组的组名
lastindex 组后一组是第几组
属性方法
span() 匹配内容的起止位置
start () 匹配内容的开始位置
end() 匹配内容的结束位置
group()
功能:获取match对象对应的内容
参数:默认为0,表示获取整个正则匹配到的内容
如果为序列号或者子组名,则表示获取某个子组对应的内容
返回值:返回获取到的字串
groupdict() 获取捕获组字典,组名作为键,对应内容作为值
groups() 获取每个子组匹配到的内容
flags参数的使用
使用函数: re.compile re.findall re.search re.match
re.finditer re.fullmatch re.sub re.subn re.split
作用:辅助正则表达式,丰富匹配效果
I == IGNORECASE 匹配时忽略字母大小写
S == DOTALL 作用于元字符. 使.可以匹配换行
M == MULTILINE 作用于^ $ 使其匹配每一行的开头,结尾
X == VERBOSE 可以给正则表达式添加注释
同时使用多个标志位
flags = re.I| re.X
--------------------------------------------------------------------------
git 的使用
代码协同管理工具
1.防止代码丢失,做代码备份
2.做代码的版本管理,创建多个版本或节点,在多版本之间切换
3.可以将代码在多人之间简单的传输共享
4.可以方便多人协同开发,开辟各自分支和分支管理
什么是git?
git 是一个开源的分布式版本控制系统,可以用于高效的管理大小项目
分布式:每个节点关系平等,都保存完整代码,节点之间相互推送或者下载代码,工作方式多样
集中式:有明确的中央服务器,统一管理代码,每个节点将代码上传中央服务器或者从中央服务器下载,逻辑简单
git特点:
1.可以管理各种文件,特别是代码项目,多在linux/unix系统中使用
2.是开源的系统,是唯一可以操作github的管理工具
3.git 是分布式管理,不同于集中式,这也是和svn最大的差别
4.git可以脱网操作,传输速度快
5.git的安全性很强,有全球唯一的commit版本号
6.git的分支管理很强大,可以方便很多人协同工作
git的安装
sudo apt-get install git
git基本配置
git config
配置级别
1.系统中所有的用户均使用的配置
命令:git config --system
配置文件: /etc/gitconfig
例:配置git用户
sudo git config --system user.name Tedu
2.当前用户的所有项目均使用的配置
命令:git config --global
配置文件: ~/.gitconfig
配置用户邮箱:
git config --global user.email tarena@tedu.cn
3.只在当前项目中使用的配置
命令:git config (命令要在git项目文件夹中执行)
配置文件: project/.git/config
例如:配置编译器
git config core.editor vscode
4.查看当前配置
git config --list
git 基本概念
工作区:通过自己的主机操作的git目录
暂存区:用来记录你工作的行为,作为暂时保存
本地仓库:本地用来备份同步工作区内容的区域
远程仓库:其他主机的git仓库
git的基本操作命令
初始化仓库
git init
*初始化仓库后产生.git目录为git的管理目录,初始化仓库的目录中内容即可使用git管理
查看工作分支状态
git status
*默认工作分支为master,可以通过创建新的分支切换
文件提交到暂存区
git add [file]
*可以一次提交多个内容,中间用空格隔开
*提交的内容可以是文件,也可以是目录
*如果想将当前目录下所有内容都提交也可以使用*表示
删除暂存区的记录
git rm --cached [file] (如果是目录加 -r)
将暂存区记录的修改内容同步到本地仓库
git commit -m "some message"
* -m 为添加的附加信息
*当工作区和本地仓库内容一致时,git status 提示工作区干净
查看提交日志
git log
git log --pretty=oneline
工作区操作
查看工作区文件和本地仓库的差异
git diff [file]
放弃工作区的修改
git checkout --[file]
恢复本地仓库文件到工作区
git checkout [file]
删除工作区文件并提交到暂存记录
git rm [file]
删除工作区文件并提交到暂存记录
git mv file dir
*rm mv 的用法和shell命令 rm mv 相同,操作后直接commit同步到本地仓库
版本控制命令
回到之前版本
git reset --hard HEAD^
HEAD后几个^表示回到之前的几个版本
通过commit_id 回到指定的版本
git reset --hard commit_id
查看操作日志
git reflog
*获取到操作记录后可以根据commit_id 去往较新的版本
标签管理:
什么是标签:即在当前工作位置添加快照,保存项目的版本信息
一般用于项目版本的迭代
创建标签
git tag v1.0
默认会在最新的commit_id处打标签
查看标签
git tag 查看所有标签
git show v2.0 查看某个标签的具体信息
在某个指定commit_id处打标签
git tag v0.9 [commit_id]
回到某个标签的版本
git reset --hard v0.9
删除标签
git tag -d v2.0
保存临时工作区
创建临时工作区
git stash
将工作区修改内容暂时封存,恢复到最近一个'干净'状态
查看保存的工作区
git stash list
应用某个工作区
git stash apply stash@{1}
*新的工作区总是为stash@{0},老的工作区会向下排列
应用上一个工作区,并删除
git stash pop
删除工作区
git stash drop stash@{0} 删除某一个
git stash clear 删除所有
作业: 1.申请一个github账号
github.com
2.复习http协议和前两个版本
3.复习并发服务器和ftp文件服务器项目