python re(正则模块)

参考文档:http://blog.csdn.net/wusuopubupt/article/details/29379367

ipython环境中,输入"?re",官方解释如下:

This module exports the following functions:
    match    Match a regular expression pattern to the beginning of a string.
    search   Search a string for the presence of a pattern.
    sub      Substitute occurrences of a pattern found in a string.
    subn     Same as sub, but also return the number of substitutions made.
    split    Split a string by the occurrences of a pattern.
    findall  Find all occurrences of a pattern in a string.
    finditer Return an iterator yielding a match object for each match.
    compile  Compile a pattern into a RegexObject.
    purge    Clear the regular expression cache.
    escape   Backslash all non-alphanumerics in a string.

Some of the functions in this module takes flags as optional parameters:
    I  IGNORECASE  Perform case-insensitive matching.
    L  LOCALE      Make \w, \W, \b, \B, dependent on the current locale.
    M  MULTILINE   "^" matches the beginning of lines (after a newline)
                   as well as the string.
                   "$" matches the end of lines (before a newline) as well
                   as the end of the string.
    S  DOTALL      "." matches any character at all, including the newline.
    X  VERBOSE     Ignore whitespace and comments for nicer looking RE‘s.
    U  UNICODE     Make \w, \W, \b, \B, dependent on the Unicode locale.

1. re.compile

compile函数会将一个字符串对象转换为RegexObject,官方示例如下:

import re

# Precompile the patterns
regexes = [re.compile(p) 
           for p in [‘this‘, ‘that‘]
           ]
text = "Does this text match the pattern?"
print ‘Text: %r\n‘ % repr(text)

for regex in regexes:
    print ‘Seeking "%s"->‘ % regex.pattern,
    
    if regex.search(text):
        print ‘match!‘
    else:
        print ‘no match‘

模块级别函数会维护一个已编译表达式缓存,直接使用已经编译表达式可以减少缓存查找开销,同时在开始时预编译表达式,可以避免运行时在进行编译。节省世间

时间: 2024-10-10 13:39:17

python re(正则模块)的相关文章

python的re模块介绍

一.正则表达式的特殊字符介绍 正则表达式 ^ 匹配行首 $ 匹配行尾 . 任意单个字符 [] 匹配包含在中括号中的任意字符 [^] 匹配包含在中括号中的字符之外的字符 [-] 匹配指定范围的任意单个字符 ? 匹配之前项的1次或者0次 + 匹配之前项的1次或者多次 * 匹配之前项的0次或者多次 {n} 匹配之前项的n次 {m,n} 匹配之前项最大n次,最小m次 {n,} 配置之前项至少n次 二.re模块的方法介绍 1.匹配类方法 a.findall方法 # findall方法,该方法在字符串中查找

python 正则模块的使用(re)说明

python 正则模块的使用(re)说明 正则表达式使用反斜杆(\)来转义特殊字符,使其可以匹配字符本身,而不是指定其他特殊的含义.这可能会和python字面意义上的字符串转义相冲突,这也许有些令人费解.比如,要匹配一个反斜杆本身,你也许要用'\\\\'来做为正则表达式的字符串,因为正则表达式要是\\,而字符串里,每个反斜杆都要写成\\. 你也可以在字符串前加上 r 这个前缀来避免部分疑惑,因为 r 开头的python字符串是 raw 字符串,所以里面的所有字符都不会被转义,比如r'\n'这个字

python学习day19正则模块

正则模块:正则所有程序员都要用到正则爬虫方向要求对正则表达式掌握牢固正则表达式:是一种客观存在的规则re模块,是python提供的操作正则表达式的工具正则表达式在所有语言中都是通用的中括号在正咋中是字符集,只能正序,由小到大.(点)是匹配除了换行以外所有字符\w小写w匹配字母或数字或下划线\s匹配任意的空白符\n匹配一个换行符\d匹配所有数字\t匹配一个制表符\b匹配一个单词的结尾\^匹配字符串的开始   在字符集里面就是\$匹配字符串结尾\W大写的w  匹配非字母或数字或下划线\ID匹配非数字

python - re正则匹配模块

re模块 re 模块使 Python 语言拥有全部的正则表达式功能. compile 函数根据一个模式字符串和可选的标志参数生成一个正则表达式对象.该对象拥有一系列方法用于正则表达式匹配和替换. re 模块也提供了与这些方法功能完全一致的函数,这些函数使用一个模式字符串做为它们的第一个参数. re.match函数 re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none. # (匹配规则,字符串,特殊标志) re.match(pattern

python基础-正则2

正则函数 Python提供re模块,包含所有正则表达式的功能 由于python的字符串本身也有\转义,所以需要注意: s = "ABC\\-001" 对应的正则表达式应为:'ABC\-001' 用python的r前缀,就不用考虑转义问题 可以使用 s = r'ABC\-001' 对应的正则表达式为:'ABC\-001' match() 判断是否匹配成功,如果匹配成功,返回一个match对象,否则返回None test = "用户输入的字符串" if re.match

python_way day6 反射,正则 模块

python_way day6 反射 正则 模块 一.模块: 1.sys & os: 我们在写项目的时候,经常遇到模块互相调用的情况,但是在不同的模块下我们通过什么去可以找到这些模块的位置哪? 那就是环境变量! 如何查看当前的环境变量?a = sys.pathprint(a)['D:\\资料\\python\\oldboy13\\jobs\\day5\\conf', 'D:\\资料\\python\\python35\\lib\\site-packages\\requests-2.10.0-py

PYTHON学习第二模块 python内置模块介绍

1 >>> import time 2 >>> time.time() 3 1491064723.808669 4 >>> # time.time()返回当前时间的时间戳timestamp(定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数)的方法,无参数 5 >>> time.asctime() 6 'Sun Apr 2 00:39:32 2017' 7 >>> # time.asctim

day5模块学习--re正则模块

1. 正则表达式基础 1.1. 简单介绍 正则表达式并不是Python的一部分.正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大.得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是一样的,区别只在于不同的编程语言实现支持的语法数量不同:但不用担心,不被支持的语法通常是不常用的部分.如果已经在其他语言里使用过正则表达式,只需要简单看一看就可以上手了. 下图展示了使用正则表达式进行匹配的流程:  http://

Python自动化开发课堂笔记【Day06】 - Python基础(模块)

正则模块 常用正则表达式列表(盗图一张:-P) 1 import re 2 3 print(re.findall('\w','abc123d_ef * | - =')) 4 print(re.findall('\W','abc123d_ef * | - =')) 5 print(re.findall('\s','abc1\n23\td_ef * | - =')) 6 print(re.findall('\S','abc1\n23\td_ef * | - =')) 7 print(re.finda