一、引言
正则表达式是含有文本和特别字符的字符串,这些文本和特别字符描述的模式可以识别各种字符串。
正则表达式的强大之处在于特殊符号的应用,特殊符号定义了字符集合、子组匹配,模式重复次数。。。正是这些特殊符号是的一个正则表达式可以匹配字符串集合而不是一个字符串
二、特殊符号和字符
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. TCP同步传送数据示例以及可能出现问题分析

    TCP传送数据可以分为同步传送和异步传送,首先这里使用了TCP的同步传送方式,学习了TCP同步传送数据的原理. 同步工作方式是指利用TCP编写的程序执行到监听或者接受数据语句的时候,在未完成当前工作( ...

  2. $.noop()和$.map()函数

    最近在项目中发现$.noop()函数,因以前没使用过故查询下,现整理如下: jQuery.noop()函数是一个空函数,它什么也不做. 当某些时候你需要传入函数参数,而且希望它什么也不做的时候,你可以 ...

  3. 使用Wireshark捕捉USB通信数据

    USB,是英文Universal Serial Bus(通用串行总线)的缩写,而其中文简称为“通串线”,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯.USB接口支持设备的即插即用和热插拔功能 ...

  4. Fractal Tree扩展

    之前的博客实现了最基础的分形树,在这个基础上略微调整一些参数可以得到很多有趣的由分形树发展出的图案. private void drawShape(Graphics g, double x1, dou ...

  5. 多数求和(java)

    实验题目:从命令行接受多个数字,求和之后输出结果. 设计思想:命令行输入的字符会赋值给args数组,所以在命令行输入数字后,直接取出args的数组长度,作为循环语句的终点判断,然后利用循环将字符型改为 ...

  6. 【Tsinghua OJ】循环移位(Cycle)

    Description Cycle shifting refers to following operation on the sting. Moving first letter to the en ...

  7. PDOStatement::bindParam的一个陷阱

    废话不多说, 直接看代码: <?php $dbh = new PDO('mysql:host=localhost;dbname=test', "test"); $query ...

  8. MINIX3 系统任务分析

    MINIX3 系统任务分析  7.1 MINIX3 系统任务概要  MINIX3 怎么来给用户提供丰富的服务呢?除了中断,异常处理,除了时钟服务. 程序员总是希望一个操作系统给他提供足够的服务,使得他 ...

  9. 【转】BAT 延迟变量

    延迟环境变量在bat里是重中之重,虽然前面说过,熟练应用for才算会写批处理,但如果不懂延迟环境变量的话,那么你就只能写出简单的批处理,而for语句也不能发挥最大的作用. 延迟环境变量在cmd下默认是 ...

  10. 用 GitHub 来部署静态网页 ꒰・◡・๑꒱

    http://segmentfault.com/a/1190000002765287 在尝试过用 GitHub 部署静态 HTML 网页后,觉得其实挺容易的,这里简单说说如何用 GitHub 来完成部 ...