正则表达式用的最多的两个函数是re.match()re.search()


使用re.match()

match()视图从字符串的起始位置对模式进行匹配.

如果匹配成功, 就返回一个匹配对象, 如果匹配失败, 就返回 None.

匹配对象的group()方法能够显示那个成功的匹配.

使用语法:

re.match(pattern, string[, flags=0])

参数说明:

  1. 匹配的正则表达式. 直接传入一个字符串, python 会把这个字符串作为正则表达式来对待

  2. 要匹配的字符串.

  3. 标志位:用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。

import re

m = re.match("foo", "foo_my")
print(m.group())

注意:

match()匹配是从字符串的开始位置匹配, 如果开始不匹配则不会匹配成功, 返回一个 None

import re

m = re.match("foo", "afoo_my")
print(m)    # 匹配不成功, 返回 None.

使用re.search()

re.match()总是从字符串的开始位置开始匹配, 所以很多情况下能够匹配的概率不大.

re.search()是在字符串中搜索正则表达式模式, 任何位置都可以. 返回的是第一次出现的匹配情况(因为正则字符串中可能会多处匹配)

他的参数和re.match()是一样的, 返回值也是一个匹配对象.

import re

m = re.search("foo", "afoo_my")    # 搜索成功
print(m.group())    # foo

re.match()和re.search()的区别

re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;而re.search匹配整个字符串,直到找到一个匹配。

Copyright © 李振超 2018 all right reserved,powered by Gitbook
该文件最后修订时间: 2018-02-25 07:12:09

results matching ""

    No results matching ""