夜深了。敲击键盘。用CSDN整理下python   re

正則表達式是含有文本和特别字符的字符串,这些文本和特别字符描写叙述的模式能够识别各种字符串。

一下我们从实例结合理论来学习理解吧...

经常使用正則表達式符号:

记号                                                      说明                                                实例

re1|re2                                   匹配正则re1或者re2                                   foo|bar

.                                             匹配不论什么字符(换行符除外)                     b.b

^                                            匹配字符串的開始                                        ……Dear

$                                            匹配字符串的结尾                                       /bin/*sh$

*                                             匹配前面出现的正则0次或多次                  [A-Za-z0-9]*

+                                             匹配前面出现的正则1次或多次                 [a-z]+\.com

?                                             匹配前面出现的正则1次或多次                 goo?

{N}                                          匹配前面出现的正则N次                           [0-9]{3}

{M,N}                                      匹配反复出现M次到N次的正则                [0-9]{2,4}

[...]                                          匹配字符组里出现的随意一个字符          [aeiou]

[...x-y...]                                  匹配x到y中的随意一个字符                    [0-9],[A-Za-z]

[^...]                                        不匹配此字符集中的随意一个字符         [^aeiou]

(...)                                         匹配封闭括号里正则,并保存为子组     ([0-9]{3})?

特殊正則表達式符号:

\d                                            匹配不论什么数字,和[0-9]一样。(\D是\d的反义:不论什么非数符字)        data\d+.txt

\w                                           匹配不论什么数字字母字符,同[A-Za-z0-9]。(\W的反义)                     [A-Za-z]\w+

\s                                            匹配不论什么空白符,同[\n\t\r\v\f]。

(\S的反义)                                     of\sthe

\b                                            匹配单词边界(\B的反义)                                                                 \bthe\b

\nn                                          匹配已保存的子组

\c                                            依次匹配特殊字符 c (即取消他的特殊含义,依照字面匹配)            \.,\\,\*

\A (\Z)                                     匹配字符串的起始(结束)                                                                  \ADear

实例:

import re
m = re.match('ab','abefghab')
m.groups()

m=re.match('foo','foo')
m.group()

m=re.match('ab|cd','abcdef')
m.group()

m=re.match('foo','food on the table')

m.group()

m=re.match('foo','fd on the foo')#error
m=re.search('foo','fd on the foo')

m=re.match('.end','bend the the')
m=re.match('.*end','how?bend the the')
m=re.match('.*end','how?\nbend the the')#error \n

m=re.match('[cr][23][dp][o2]','c2p2')
m=re.match('[cr][23][dp]?[o2]?

','c2p2')
m=re.match('[cr][23][dp][o2]?','c2pippp')

m=re.match('\w+@(\w+\.)?\w+\.com','abs@jimi.com')
m=re.match('\w+@(\w+\.)?\w+\.com','abggddds@local.jimi.com')

m=re.match('\w\w\w-\d\d\d','abc-123')
m=re.match('(\w\w\w)-(\d\d\d)','abc-123') #m.groups()

m=re.match('(a)(b)','abcefg')#m.group(1)    m.group(2)    m.groups()

m=re.match('^the','the bank')
m=re.search('^the','end the')#error
m=re.search(r'\bthe','bite dog the')
m=re.search(r'\Bthe','bitethe dog')

re.findall('car','carry the barcardi to the car')
re.sub('X','Mr.Smith','attn:X\n\nDear X,\n')
re.subn('[ab]','X','agirlbeatshe')
re.split(':','str1:str2:str3')

con='jimi im you'
open('okay.txt','w').write(con)
a

python re 正則表達式的更多相关文章

  1. python使用正則表達式

    python中使用正則表達式 1. 匹配字符 正則表達式中的元字符有 .  ^  $ *   +  ?  { }  [ ]  \  | ( ) 匹配字符用的模式有 \d 匹配随意数字 \D 匹配随意非 ...

  2. Python基础--正則表達式基本的语法以及re模块

    正则是个非常牛逼的东西,python中当然也不会缺少. 所以今天的Python就跟大家一起讨论一下python中的re模块. re模块包括对正則表達式的支持. 什么是正则: 正則表達式是能够匹配文本片 ...

  3. python 学习笔记 10 -- 正則表達式

    零.引言 在<Dive into Python>(深入python)中,第七章介绍正則表達式,开篇非常好的引出了正則表達式,以下借用一下:我们都知道python中字符串也有比較简单的方法, ...

  4. Python正則表達式:怎样使用正則表達式

    正則表達式(简称RE)本质上能够看作一个小的.高度专业化的编程语言,在Python中能够通过re模块使用它.使用正則表達式,你须要为想要匹配的字符串集合指定一套规则,字符串集合能够包括英文句子.e-m ...

  5. python进阶十_正則表達式(一)

    近期状态一直不太好,至于原因,怎么说呢,不好说,总之就是纠结中覆盖着纠结,心思全然不在点上,希望能够借助Python的学习以及博客的撰写来调整回来,有的时候回头想一想,假设真的是我自己的问题呢,曾经我 ...

  6. 正則表達式re中的贪心算法和非贪心算法 在python中的应用

    之前写了一篇有关正則表達式的文章.主要是介绍了正則表達式中通配符 转义字符 字符集 选择符和子模式 可选项和反复子模式 字符串的開始和结尾 ,有兴趣的能够查看博客内容. 此文章主要内容将要介绍re中的 ...

  7. Python学习笔记8:标准库之正則表達式

    Python拥有强大的标准库.从如今起,開始学习标准库中提供的一些经常使用功能. 首先看正則表達式(regular expression),它的主要功能是从字符串(string)中通过特定的模式(pa ...

  8. Python——正則表達式(2)

    本文译自官方文档:Regular Expression HOWTO 參考文章:Python--正則表達式(1) 全文下载 :Python正則表達式基础 ======================== ...

  9. Python正則表達式小结(1)

    学习一段python正則表達式了, 对match.search.findall.finditer等函数作一小结  以下以一段网页为例,用python正則表達式作一个范例: strHtml = '''& ...

随机推荐

  1. mybatis学习(三)----优化Mybatis配置文件中的配置

    一.把连接数据库的配置单独放在一个properties文件中 前面我们是把数据库的连接信息放在了mybatis-config.xml中,如下: <?xml version="1.0&q ...

  2. U盘如何去除写保护

    用一个简单而粗暴的方法去除U盘写保护: www.upantool.com/hfxf/xiufu//FormatTool.html#softdown 没有比这个更牛的软件了.

  3. Gym - 100989M(dp)

    George met AbdelKader in the corridor of the CS department busy trying to fix a group of incorrect e ...

  4. 如何实时查看Linux下日志

    以下以Tomcat为例子,其他WEB服务器目录自己灵活修改即可: 1.先切换到:cd usr/local/tomcat5/logs2.tail -f catalina.out3.这样运行时就可以实时查 ...

  5. Debugging memory usage with kbmMW

    kbmMW的更高版本包含越来越多的功能,可用于通常的日志记录,审计,运行期发生异常时的堆栈跟踪以及现在的内存使用调试.这些功能实际上可用于任何应用程序,不仅限于基于kbmMW开发的多层应用系统.我已经 ...

  6. Day10作业及默写

    1,继续整理函数相关知识点,写博客. 2,写函数,接收n个数字,求这些参数数字的和.(动态传参) def func(*number): sum=0 for num in number: sum+=nu ...

  7. 第三十二课 linux内核链表剖析

    __builtin_prefetch是gcc扩展的,用来提高访问效率,需要硬件的支持. 在标准C语言中是不允许static inline联合使用的. 删除依赖的头文件,将相应的结构拷贝到LinuxLi ...

  8. 数据结构与算法Java描述 队列

    package com.cjm.queue; /** * 数据结构与算法Java实现 队列 * * @author 小明 * */ public class Myqueue { private Nod ...

  9. linux管道命令之head与tail

    常常会遇到这样的情况: 1.我训练一个模型需要用到很多图片,这些图片都在一个文件夹下面,但是我想仅仅拷贝个一两张看一下图片的质量怎么样? 2.文件夹下有各种各样的数据,数目非常庞大,我想看一下文件夹下 ...

  10. 初学C#windows程序

    window 操作系统中,处处是窗体 优点:简单 强大 方便 灵活 步骤: 新建项目 项目类型 visual C#项目 模板 window应用程序 用partial 将同一个窗体的代码分开放在两个文件 ...