python正则表达式(4)--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:
   up()
 else:
   print'No match!'
 rs = re.search(r'\w{4}' , content)
 if rs:
   up()
 else:
   print'No match!'
 以上执⾏结果如下:
 No match!
 zeke
2.pattern.search⽅法
(1) 函数语法
  pattern.search( string, pos=0, endpos=len(string))
  函数作⽤:
    这个⽅法将在字符串string的pos位置开始尝试匹配pattern(pattern就是通过 repile()⽅法编译后返回的对象),如果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⽅法的区别
python正则表达式匹配小数
  re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,并返货None;
  re.search匹配整个字符串,直到到⼀个匹配,如果整个字符串都没匹配到,则返回None。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。