最近听吴老的电台,收获颇多,给人映像最深的就是:学会编程 和 坚持学习;作为一名测试员,要从一名手工测试转化成 测试开发 或者资深的测试工程师,编码水平是必须具备的基本素质;吴老所说,撸1W到2W行代码算入门,其实我自己也不知道我又没有撸到1W行代码,虽然在工作中能用python编写测试脚本来辅助测试,提高自己的工作效率;为了更加巩固的加强自己的编码基础,所以买了一本 python核心编程第三版,来夯实基础。

从今天开始,我会坚持把这本书,学习完毕,并借博客园这个平台来记录学习过程和总结;为了早日成为一位牛叉的测试员,也为了 进一步提高自己的价值,当然也是为了能获得高薪了,哈哈哈!

下面的是本书的第一部分:通用应用主题,第一章:正则表达式

正则表达式总体来说有两种模式:匹配和搜索,match和search

   最常用的方法有:compile、match、search、findall、split、sub

常用的模块属性:re.I 忽略大小写、re.M匹配时,根据字符串的首尾来结束,不是按照换行来确定字符串的结束

          re.S “.” 能匹配所有的字符、

  match:是从字符串的开始进行匹配,失败则返回None,否则返回匹配结果:    

>>> s = 'test'
>>> re.match('st',s)
>>> result = re.match('st',s)
>>> print result
None
>>> result = re.match('tes',s)
>>> result
<_sre.SRE_Match object at 0x02D6FA30>
>>> result.group()
'tes'

search:直接就是在字符串里面查找,没有找到返回None

>>> s = 'test'
>>> result = re.search('ww',s)
>>> print result
None
>>> result = re.search('st',s)
>>> print result.group()
st

findall:这个是我以前经常用到这个,反正以前用到正则表达式的时候都用它

    找到时返回一个list,如果没找到也会返回一个空的list

>>> s = 'Just to learn'
>>> pattern = re.compile('^j\w+')
>>> result = re.findall(pattern,s)
>>> print result
[]
>>> pattern = re.compile('^j\w+?')
>>> result = re.findall(pattern,s)
>>> print result
[]
>>> pattern = re.compile('^J\w+')
>>> result = re.findall(pattern,s)
>>> print result
['Just']
>>>

  split 和 sub 这两个方法也是我今天才知道的,以前从来没用过,感觉也比较使用

>>> s = 'Just to learn,HAHA'
>>> result = re.split('\s|,',s)
>>> print result
['Just', 'to', 'learn', 'HAHA']

这个split比str.split强大太多了

>>> s = 'I love you forever!'
>>> result = re.sub('\s','=>',s)
>>> print result
I=>love=>you=>forever!
>>>

sub 和 str.replace比较像,只是更加牛逼

正则表达式,我感觉在工作中用到的地方太多了,包括前段时间的ui自动化,和最近接口测试中,都会用到,奇妙无穷

下面这张图是在其他人那里扣出来的,我经常作为字典来用,具体从哪儿来的,我也记不清了,总之不好意思,我也要贴一下,哈哈

正则表达式:re--python核心编程(3),chapter 1的更多相关文章

  1. python核心编程第二版笔记

    python核心编程第二版笔记由网友提供:open168 python核心编程--笔记(很详细,建议收藏) 解释器options:1.1 –d   提供调试输出1.2 –O   生成优化的字节码(生成 ...

  2. python核心编程--笔记

    python核心编程--笔记 的解释器options: 1.1 –d   提供调试输出 1.2 –O   生成优化的字节码(生成.pyo文件) 1.3 –S   不导入site模块以在启动时查找pyt ...

  3. Python核心编程第二版(中文).pdf 目录整理

    python核心编程目录 Chapter1:欢迎来到python世界!-页码:7 1.1什么是python 1.2起源  :罗萨姆1989底创建python 1.3特点 1.3.1高级 1.3.2面向 ...

  4. python核心编程--笔记(不定时跟新)(转)

    的解释器options: 1.1 –d   提供调试输出 1.2 –O   生成优化的字节码(生成.pyo文件) 1.3 –S   不导入site模块以在启动时查找python路径 1.4 –v   ...

  5. 关于《Python核心编程》第2版和第3版

    关于<Python核心编程>第2版和第3版 以前开始学Python的时候,根据某大神的建议买了本<Python核心编程>第2版,慢慢学习.而最近回家没带书回来,刚好JD有活动, ...

  6. python核心编程笔记(转)

    解释器options: 1.1 –d   提供调试输出 1.2 –O   生成优化的字节码(生成.pyo文件) 1.3 –S   不导入site模块以在启动时查找python路径 1.4 –v   冗 ...

  7. Python核心编程(第二版)PDF

    Python核心编程(第二版) 目录 第1部分 Python核心第1章 欢迎来到Python世界1.1 什么是Python1.2 起源1.3 特点1.3.1 高级1.3.2 面向对象1.3.3 可升级 ...

  8. Python核心编程(第3版)PDF高清晰完整中文版|网盘链接附提取码下载|

    一.书籍简介<Python核心编程(第3版)>是经典畅销图书<Python核心编程(第二版)>的全新升级版本.<Python核心编程(第3版)>总共分为3部分.第1 ...

  9. python核心编程(第二版)习题

    重新再看一遍python核心编程,把后面的习题都做一下.

随机推荐

  1. Maven 简单配置gpg

    1. 下载maven到指定目录,指定对应的gpg的执行命令所需要的属性.这里比如下载解压后的maven目录是: C:\maven-apache-3.3.2 ,那么配置文件目录是: C:\maven-a ...

  2. activemq安全设置 设置admin的用户名和密码

    ActiveMQ使用的是jetty服务器, 打开conf/jetty.xml文件,找到 <bean id="securityConstraint" class="o ...

  3. mac 命令行 安装 需要管理员 权限

    Please try running this command again as root/Administrator. sudo chown -R $USER /usr/local

  4. Android 组件系列-----Activity的传值和回传值

    在这篇随笔里将讲解Activity的传值和回传值. 一.通过startActivity来进行Activity的传值 在Android中,如果我们要通过一个Activity来启动另一个Activity, ...

  5. Android开发利器 - Charles + Genymotion 调试网络应用程序

    Charles默认是不监听Genymotion模拟器的网络动态的. 需要进行以下设置: 1. 打开你的Genymotion模拟器 2. 设置 -> Wifi -> 长按你的当前的网络连接 ...

  6. Java socket 多线程编程 示例

    参照网上代码: 1.工程: 2.代码: Client.java package com.my.socket.test; import java.io.BufferedReader; import ja ...

  7. Unity3D]引擎崩溃、异常、警告、BUG与提示总结及解决方法

    此贴会持续更新,都是项目中常会遇到的问题,总结成贴,提醒自己和方便日后检查,也能帮到有需要的同学. 若各位有啥好BUG好异常好警告好崩溃可以分享的话,请多多指教.xuzhiping7#qq.com. ...

  8. 面向对象设计的SOLID原则

    S.O.L.I.D是面向对象设计和编程(OOD&OOP)中几个重要编码原则(Programming Priciple)的首字母缩写. SRP The Single Responsibility ...

  9. android自定义TabView实现圆角列表

    看到很多应用的设置界面都有圆角效果的列表,类似下面的 下面说说我的实现原理:继承LinearLayout,然后设置一个自定义的TabAdapter,类似于listview,添加一个setAdapter ...

  10. 3种归并操作js代码

    /**良哥的*/ function merge(a, b) { var aLen = a.length, bLen = b.length, maxLen = Math.max(aLen, bLen), ...