zoukankan      html  css  js  c++  java
  • python正则表达式

    Python正则表达式,用re模块来实现,文档中英文部分关于正则表达式的说明不是很容易让人理解!

    本以为看了手册上的正则表达式,再加上以前也略略看过perl的正则表达式,应该较快可以理解。

    费解!

    下面略略记录一下看过的笔记:

    \ -- 转移字符用
    ^ -- 字符从头开始匹配
    $ -- 字符结束
    * -- 匹配0个或多个字符
    + -- 匹配1个或多个字符
    ?-- 匹配0个或1个字符
    {m,n} -- 匹配m到n个字符,省略m表示m为0,省略n表示n为无穷
    {m,n}? -- 匹配m到n个字符,尽可能少的匹配!
    | -- 表示或的方式
    . -- 匹配任意字符
    \d -- 数字匹配
    \D -- 非数字匹配    (Python用大写表示相反的情况,下面的\B、\S同)
    \b -- 单词边界匹配
    \B -- 非单词边界
    \s -- 空字符匹配,空格、Tab键,Enter键
    \S -- 非字符匹配
    \w -- 数字和字符匹配和下划线
    \W -- 非数字、字符和下划线匹配
    \number -- 前面方式重复number次数匹配
    [a-z] -- []表示匹配内部的任何一个字符,单个字符匹配,转移字符在[]内部不起作用,^在此处表示后面表示的相反情况
    (x) -- 匹配的结果存储到group中,用返回结果groups()获取结果

    \a \b \f \t \r \[ \] \n \v \x \( \) 用来匹配特殊字符

    Python默认使用紧凑的正则表达式,可以使用宽松的正则表达式,这样更易维护与理解,忽略空格,换行,注释等内容,但在flags中需要注明为:re.VERBOSE.

    如果pattern的表达式有错误,一般抛出re.error错误,当也有例外。如果没有匹配,那么返回None对象。

    不清楚可以看divide into python和ubuntu中关于正则表达式的介绍。
    下面为连接地址:

    divide int python:
    http://www.woodpecker.org.cn/diveintopython/regular_expressions/index.html#re.intro

    ubuntu :
    http://wiki.ubuntu.org.cn/Python%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97




  • 相关阅读:
    设计模式之装饰模式(Decorator)
    原型模式(浅克隆和深克隆)
    (原创)C#初级教程学习笔记001-学习路线
    (原创)C#零基础学习笔记012-多线程开发
    (原创)C#零基础学习笔记011-事件和委托
    (原创)C#零基础学习笔记010-数据流技术
    (原创)C#零基础学习笔记009-异常处理
    (原创)C#零基础学习笔记008-C#集合处理
    (原创)C#零基础学习笔记007-面向对象的特性
    (原创)C#零基础学习笔记006-面向对象编程基础
  • 原文地址:https://www.cnblogs.com/ubunoon/p/Python_RE.html
Copyright © 2011-2022 走看看