一、引言
正则表达式是含有文本和特别字符的字符串,这些文本和特别字符描述的模式可以识别各种字符串。
正则表达式的强大之处在于特殊符号的应用,特殊符号定义了字符集合、子组匹配,模式重复次数。。。正是这些特殊符号是的一个正则表达式可以匹配字符串集合而不是一个字符串
二、特殊符号和字符
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. (转)HTML5 本地存储

    原文:http://www.cnblogs.com/rainman/archive/2011/06/22/2086069.html HTML5 本地存储 1.sessionStorage 2.loca ...

  2. 自从学了SQL编程,哪里不会点哪里!!!

    在学习SQL编程前,先给大家分享几个段子吧,咱先乐呵乐呵! <桃花庵--程序员版> 写字楼里写字间,写字间中程序员:程序人员写程序,又将程序换酒钱: 酒醒只在屏前坐,酒醉还来屏下眠:酒醉酒 ...

  3. Balance_01背包

    Description Gigel has a strange "balance" and he wants to poise it. Actually, the device i ...

  4. 如何从oc中去获取一个私有的变量.....

    运行时 的用法 1.定义的一个类,里面有一个私有变量mt_,并且在初始化值为"HaHa Ha ".@interface Mobj : NSObject {@privateNSStr ...

  5. 归档 Archive、解档Unchive、 XML(一)

    1 使用归档的方式保存文件 1.1 问题 归档是任何对象都可以实现的更常规的方式,可以进行归档的对象需要实现NSCoding协议,而且每个实例变量应该是基本数据类型或者是实现NSCoding协议的某个 ...

  6. C# 控件不刷新问题

    /********************************************************************** * C# 控件不刷新问题 * 说明: * 当网络连接出问 ...

  7. 《深入浅出Node.js》第3章 异步I/O

    @by Ruth92(转载请注明出处) 第3章 异步I/O Node 的基调:异步 I/O.事件驱动.单线程. Node 不再是一个服务器,而是一个可以基于它构建各种高速.可伸缩网络应用的平台. No ...

  8. hdu 5091 Beam Cannon

    题目大意: 有n个点(n<=10000),点的坐标绝对值不超过20000,然后问你用一个w*h(1<=w,h<=40000)的矩形,矩形的边平行于坐标轴,最多能盖住多少个点. 刘汝佳 ...

  9. 关于typedef的用法总结(转)

    不管实在C还是C++代码中,typedef这个词都不少见,当然出现频率较高的还是在C代码中.typedef与#define有些相似,但更多的是不同,特别是在一些复杂的用法上,就完全不同了,看了网上一些 ...

  10. python 函数性能分析

    1 使用profile分析函数性能示例1, 以profile为例: import profile def profileTest(): Total =1; for i in range(10): To ...