一、引言
正则表达式是含有文本和特别字符的字符串,这些文本和特别字符描述的模式可以识别各种字符串。
正则表达式的强大之处在于特殊符号的应用,特殊符号定义了字符集合、子组匹配,模式重复次数。。。正是这些特殊符号是的一个正则表达式可以匹配字符串集合而不是一个字符串
二、特殊符号和字符
1.用管道(|)符号匹配多个正则表达式模式
例子》bat|bet|bit   匹配:bat、bet、bit
2.匹配任意一个单个的字符(.)
点字符(.)匹配除去换行符以外的任意一个单一字符
例子:f.o  匹配f和o之间的任何字符:foo、fro、f#o
.end  匹配在字符串end前面的任意一个字符
注意;如何匹配句号或句号:必须使用‘\’进行转义
3、从字符串的开头或者结尾或者单词边界开始匹配(^/$/\b/\B)
例子:^From    匹配任何以From开始的字符串
          end$       匹配任何以end结束的字符串
如果你想匹配这两个字符中的任何一个 你都要使用反斜杠进行转义:“\$$”
 \b and \B用来匹配单词边界。\b匹配的是一个单词边界,与之对应的一定在一个模式一定在一个单词的开头,不论这个单词前面是否有字符串。\B匹配出现在一个单词中间的模式
例子: \bthe   匹配任何以‘the’开始的字符串
           \bthe\b   仅仅匹配the
           \Bthe    任意包含‘the’但是不以‘the’开头
4、创建字符类( [ ] )
b[aeiu]t  匹配 bat,bet,bit,but
[cr][23][o2];匹配第一个字符是c或者r,第二是2或者3.。。
5、指定范围(-)和否定(^)
在[]中一对符号中间的连字符(-)表示一个字符的范围:例如A-Z,0-9.另外如果在左括号上加一个(^)表示不匹配指定的字符集里的任意字符
例子 z.[0-9]     匹配字符‘z’,加任意字符,然后是一个十进制数字
[r-u][abn-y][us]
[^abc]     不匹配abc
6.使用闭包操作符(*,+,?,{})实现多次出现、重复匹配
*:匹配他左边的那个正则表达式出现零次或者零次以上
+:匹配他左边的那个正则表达式至少出现一次
?:匹配他左边的那个正则表达式出现零次或者一次
{}:花括号内可以使单个值也可以是一对值:
{N}:表示匹配N次出现  {M,N}:表示匹配M次到N次出现
例子:[dn]ot?:  do,no,dot,not   
     [0-9]{17,18}   表示17或者18位的数字表示
    </?[^>]+>     匹配所有合法的HTML字符串
7、特殊字符表示、字符集
‘\d’可以表示0-9这个范围的十进制数字,
‘\w’表示整个字符数字的数字集相当于“A-Za-z0-9"的简写     "\s"表示空白字符    这个字符的大写表示不匹配
例子:
\w+-\d+   一个有字母或数字组成的字符串,两部分中间有连字符连接
\w+@\w+.com   类似  XXX@yyy。com
8、用圆括号组建组
一个圆括号和一个正则表达式在一起时可以实现以下任意一个(两个)功能:
a.对正则表达式进行分组
b.匹配子组

正则表达式 ——python 基础的更多相关文章

  1. python基础语法及知识点总结

    本文转载于星过无痕的博客http://www.cnblogs.com/linxiangpeng/p/6403991.html 在此表达对原创作者的感激之情,多谢星过无痕的分享!谢谢! Python学习 ...

  2. Python基础(12)--模块

    本文地址:http://www.cnblogs.com/archimedes/p/python-modules.html,转载请注明源地址. 模块简介 如果你退出 Python 解释器重新进入,以前创 ...

  3. python爬虫主要就是五个模块:爬虫启动入口模块,URL管理器存放已经爬虫的URL和待爬虫URL列表,html下载器,html解析器,html输出器 同时可以掌握到urllib2的使用、bs4(BeautifulSoup)页面解析器、re正则表达式、urlparse、python基础知识回顾(set集合操作)等相关内容。

    本次python爬虫百步百科,里面详细分析了爬虫的步骤,对每一步代码都有详细的注释说明,可通过本案例掌握python爬虫的特点: 1.爬虫调度入口(crawler_main.py) # coding: ...

  4. 十七. Python基础(17)--正则表达式

    十七. Python基础(17)--正则表达式 1 ● 正则表达式 定义: Regular expressions are sets of symbols that you can use to cr ...

  5. python基础之坑爹正则表达式

    python基础之坑爹正则表达式 概述 re模块就是python语言中的正则表达式,拆出来单独写一条blog是因为正则表达式本身就是比较庞大的知识,写具体些让自己以后方便查找. IP: ^(25[0- ...

  6. Python基础+Pythonweb+Python扩展+Python选修四大专题 超强麦子学院Python35G视频教程

    [保持在百度网盘中的, 可以在观看,嘿嘿 内容有点多,要想下载, 回复后就可以查看下载地址,资源收集不易,请好好珍惜] 下载地址:http://www.fu83.cc/ 感觉文章好,可以小手一抖 -- ...

  7. Python基础:序列(字符串)

    一.概述 字符串 类似于C中的字符数组(功能上更像C++中的string),它是由一个个 字符 组成的序列.与C/C++不同的是,Python中没有 字符 这个类型,而是用 长度为1的字符串 来表示字 ...

  8. Python基础教程【读书笔记】 - 2016/7/31

    希望通过博客园持续的更新,分享和记录Python基础知识到高级应用的点点滴滴! 第十波:第10章  充电时刻 Python语言的核心非常强大,同时还提供了更多值得一试的工具.Python的标准安装包括 ...

  9. python基础教程

    转自:http://www.cnblogs.com/vamei/archive/2012/09/13/2682778.html Python快速教程 作者:Vamei 出处:http://www.cn ...

随机推荐

  1. LNA和PA

    低噪声放大器(Low Noise Amplifier) -------------LNA 功率放大器(Power Amplifier)---------------------PA LNA是低噪声放大 ...

  2. javaweb-dbutils

    package cn.itcast.demo; import java.io.File;import java.io.FileNotFoundException;import java.io.File ...

  3. Interview----求 1+2+...+n, 不能用乘除法、for、while if、else、switch、case 等关键字以及条件判断语句 (A?B:C)

    题目描述: 求 1+2+...+n, 要求不能使用乘除法.for.while.if.else.switch.case 等关键字以及条件判断语句 (A?B:C). 分析: 首先想到的是写递归函数,但是遇 ...

  4. 在 Linux 的 KVM虚拟机 上安装 Mac OS 系统的研究总结

    在 Linux 的 KVM虚拟机 上安装 Mac OS 系统的研究总结 一.资料来源:    网上一共找到两个方法,一个是视频上的教程,一个是网页资料. 二.视频资料方法内容:1.install qe ...

  5. # 20145210 《Java程序设计》第03周学习总结

    教材学习内容总结 第四章 类与对象 在定义类这个小结里,有很多新的术语,书上的比喻很形象,对于理解这部分的内容有很大帮助,现总结如下: •类与对象的关系:要产生对象必须先定义类,类是对象的设计图,对象 ...

  6. Unity3D ShaderLab 透明裁剪着色器

    Unity3D ShaderLab 透明裁剪着色器 上一篇,我们介绍了使用Alpha实现透明的手法,其实Unity为我们的#pragma提供了另一种参数,是我们能做出更高效 简单的透明效果,也就是裁剪 ...

  7. 第一次进div1了

    第一次进div1~好激动啊! 上帝依旧那么眷顾我!

  8. 深入分析Php处理浮点数的问题

    下文来为各位介绍Php处理浮点数的问题了,如果各位在使用过程中碰到这些问题我们可以一起来看看,希望文章对各位有帮助 公司要对产品价格做调整,因为做的外贸商城,所以价格要和国际接轨.比如国外的价格展示方 ...

  9. javascript js表示中文日期的经典写法

    <div id="time"> <script>document.getElementById('time').innerHTML=new Date().t ...

  10. [转载]架构指南 : Java1.7+Eclipse luna + Maven 3.2.5 +spring 4.1.4

    1. 环境配置 a)         Java 1.7 b)         Eclipse luna c)         Maven3.2.5 d)         spring 4.1.4 2. ...