python正则表达式(4)--search方法

摘自:https://www.cnblogs.com/zeke-python-road/p/9565419.html

1.re.search函数

re.search 扫描整个字符串并返回第一个成功的匹配,如果匹配失败search()就返回None。

(1)函数语法

  re.search(pattern, string, flags=0)

  函数参数说明:

    pattern   匹配的正则表达式

    string      要匹配的字符串

    flgs         标志位,用于控制正则表达式的匹配方式

  我们可以使用group(num) 或 groups() 匹配对象函数来获取匹配表达式。

  group(num=0)   获取匹配结果的各个分组的字符串,group() 可以一次输入多个组号,此时返回一个包含那些组所对应值的元组。

  groups()            返回一个包含所有分组字符串的元组。

  注意:如果未匹配成功,search()返回值为None,此时再使用group()、groups()  方法会报错。

         应该先获取匹配对象,然后判断匹配对象是否非空,当非空时在使用group()、groups()  方法获取匹配结果。见实例2

(2)实例

例1

import re
    print(re.search(r‘How‘, ‘How are you‘).span())              # 在起始位置匹配
    print(re.search(r‘are‘, ‘How are you‘).span())                # 不在起始位置匹配

以上输出结果为:

  (0, 3)
  (4, 7)

例2

 

 import re
 content = ‘Hi zeke,how old are you‘

 result = re.search(r‘\d+‘ , content)
 if result:
   print result.group()
 else:
   print ‘No match!‘

 rs = re.search(r‘\w{4}‘ , content)
 if rs:
   print rs.group()
 else:
   print ‘No match!‘

 以上执行结果如下:

 No match!

 zeke

2.pattern.search方法

(1) 函数语法

  pattern.search( string, pos=0, endpos=len(string))

  函数作用:

    这个方法将在字符串string的pos位置开始 尝试匹配pattern(pattern就是通过 re.compile()方法编译后返回的对象),如 果pattern匹配成功,无论是否达到结束位 置endpos,都会返回一个匹配成功后的Match对象;

    如果匹配不成功,或者 pattern未匹配结束就达到endpos,则返回 None。

  函数参数说明:

    string:被匹配的字符串

    pos:匹配的起始位置,可选,默认为0

    endpos:匹配的结束位置,可选,默认为 len(string)

3. re.search和pattern.search区别

  re.search方法与pattern.search()方法 区别在于,它不能指定匹配的区 间pos和endpos两个参数

4. re.match方法与re.search方法的区别

  re.match只匹配字符串的开始,如果字符串开始不符合正则表达式, 则匹配失败,并返回None;

  re.search匹配整个字符串, 直到找到一个匹配,如果整个字符串都没匹配到,则返回None。

原文地址:https://www.cnblogs.com/LiuYanYGZ/p/12232600.html

时间: 2024-10-08 04:36:12

python正则表达式(4)--search方法的相关文章

Python正则表达式符号与方法

导入re库文件 import re from re import findall,search,S secret_code = 'hadkfalifexxIxxfasdjifja134xxlovexx23345sdfxxyouxx8dfse'   #红色为待带抓取内容 .的使用举例 a = 'xy123' b = re.findall('x...',a) print b          #执行后返回xy12,x...中"."代表占位符,几个点就取x后几位 *的使用举例 a = 'xy

python正则表达式(3)--match方法

1.re.match函数 re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none. (1)函数语法: re.match(pattern, string, flags=0) 函数参数说明: pattern   匹配的正则表达式    string      要匹配的字符串 flgs         标志位,用于控制正则表达式的匹配方式 我们可以使用group(num) 或 groups() 匹配对象函数来获取匹配表达式. group(num

Python正则表达式与split()方法一起使用

import re#split 只能实现单个字符串的分割string="guoshun is a good boy"print(string.split(' '))#但是如果中间又好几个空格 那么split耶只能分割一个空格string2="guoshun is good boy"#regex提供了split方法print(re.split("\s+",string2))#也可以同时使用多个分割符号string3="guoshun/is

正则表达式中的方法

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>正则表达式</title></head><body><h1>正则表达式的重复字符语法</h1><pre> 字符 含义 {n,m} 匹配前一项至少n次,但不能超过m次 {n,} 匹配前一项n次或者更多次

40 python 正则表达式 match方法匹配字符串 使用search函数在一个字符串中查找子字

第一课: 使用match方法匹配字符串 # 正则表达式:使用match方法匹配字符串 ''' 正则表达式:是用来处理文本的,将一组类似的字符串进行抽象,形成的文本模式字符串 windows dir *.txt file1.txt file2.txt abc.txt test.doc a-file1.txt-b linux/mac ls 主要是学会正则表达式的5方面的方法 1. match:检测字符串是否匹配正则表达式 2. search:在一个长的字符串中搜索匹配正则表达式的子字符串 3. fi

python 基础 8.3 match方法和search方法

一,正则对象的split 方法 split(string[,maxsplit]) 按照能够匹配的字串讲string 分割后返回列表.maxsplit 用于指定最大分割次数,不指定将全部分割.来查找符合对象的字字符. #/usr/bin/python #coding=utf-8 #@Time   :2017/11/18 20:52 #@Auther :liuzhenchuan #@File   :re 的matche 和 seach.py import re print '正则的常用方法' a =

python 正则表达式re使用模块(match()、search()和compile())

摘录 python核心编程 python的re模块允许多线程共享一个已编译的正则表达式对象,也支持命名子组.下表是常见的正则表达式属性: 函数/方法 描述 仅仅是re模块函数 compile(pattern,flags=0) 使用任何可选的标记来编译正则表达式的模式 ,然后返回一个正则表达式对象 re模块函数和正则表达式对象的方法 match(pattern,string,flags=0) 尝试使用带有可选标记的正则表达式的模式来匹配字符串,成功则返回匹配的对象,失败则返回None search

python正则表达式之re模块方法介绍

python正则表达式之re模块其他方法 1:search(pattern,string,flags=0) 在一个字符串中查找匹配 2:findall(pattern,string,flags=0) 找到匹配,返回所有匹配部分的列表 In [1]: import re In [2]: str1 = 'imoooc videonum = 1000' In [3]: str1.find('1000') Out[3]: 18 In [4]: info = re.search(r'\d+',str1)

正则表达式中pattern.match(),re.match(),pattern.search(),re.search()方法的使用和区别

正则表达式(regular expression)是一个特殊的字符序列,描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串. 将匹配的子串替换或者从某个串中取出符合某个条件的子串,或者是在指定的文章中抓取特定的字符串等.Python处理正则表达式的模块是re模块,它是Python语言中拥有全部的正则表达式功能的模块.正则表达式由一些普通字符和一些元字符组成.普通字符包括大小写的字母.数字和打印符号,而元字符是具有特殊含义 正则表达式大致的匹配过程是: 拿正则表达式依次和字符串或者文本