Python--正则表达式findall,match,search的区别

  • findall将搜索整字符串,并返回匹配到的列表。
  • match如果字符串开始位置(0)不匹配则返回None,否则返回结果,并结束搜索。
  • search搜索整个字符串,匹配则返回结果并结束搜索。match和search返回的结果都是对象,可以使用span和group方法。span返回一个元组表示匹配结果在字符串的位置范围。group返回匹配到的字符串。
import re

language = 'C++85C9Java66Python666C#857Java23C#6PHP6969C#8'

# findall将搜索整字符串,并返回匹配到的列表
r1 = re.findall(r'\d+', language)
print(r1)

# match如果字符串开始位置(0)不匹配则返回None,否则返回结果,并结束搜索。
r2 = re.match(r'\d+', language)
print(r2)

# search搜索整个字符串,匹配则返回结果并结束搜索。
r3 = re.search(r'\d+', language)
print(r3)
#span返回一个元组表示匹配结果在字符串的位置范围
print(r3.span())

你可能感兴趣的:(Python--正则表达式findall,match,search的区别)