在Python中,正则表达式是一种强大的工具,用于在文本中查找、匹配和处理模式。re?模块提供了许多函数来处理正则表达式,其中?re.search()
和?re.findall()
?是常用的两个函数,用于在字符串中查找匹配的模式。本文将深入介绍这两个函数的用法,以及详细的使用示例。
re.search()
?函数用于在字符串中查找匹配的第一个子串,并返回一个匹配对象。如果找到了匹配,可以通过匹配对象的方法和属性来获取相关信息。
import re
pattern = r'apple'
text = "I have an apple and a banana."
# 在文本中查找第一个匹配的子串
match = re.search(pattern, text)
if match:
print("Found:", match.group()) # 获取匹配的子串
print("Start:", match.start()) # 获取匹配的起始位置
print("End:", match.end()) # 获取匹配的结束位置
else:
print("No match found.")
re.findall()
?函数用于在字符串中查找所有匹配的子串,并返回一个包含所有匹配结果的列表。
import re
pattern = r'\d+' # 匹配一个或多个数字
text = "I have 3 apples and 5 bananas. Total 8 fruits."
# 查找所有匹配的子串
matches = re.findall(pattern, text)
if matches:
print("Matches:", matches) # 获取所有匹配的子串列表
else:
print("No matches found.")
re.search()
?查找日期import re
pattern = r'\d{2}-\d{2}-\d{4}' # 匹配日期格式:dd-mm-yyyy
text = "Today's date is 31-08-2023."
match = re.search(pattern, text)
if match:
print("Date found:", match.group())
else:
print("No date found.")
使用?re.findall()
?查找所有链接
import re
pattern = r'https?://\S+' # 匹配HTTP或HTTPS链接
text = "Here are some links: https://www.example.com and http://google.com"
links = re.findall(pattern, text)
if links:
print("Links found:", links)
else:
print("No links found.")
re.findall()
?查找电子邮件地址import re
pattern = r'\w+@\w+\.\w+' # 匹配基本电子邮件地址
text = "Contact us at support@example.com or info@company.net"
emails = re.findall(pattern, text)
if emails:
print("Email addresses found:", emails)
else:
print("No email addresses found.")
re.search()
?用于查找第一个匹配的子串,而?re.findall()?
则用于查找所有匹配的子串。通过在正则表达式模式中定义适当的规则,使得我们可以有效地在文本中查找并处理各种模式。这两个函数是处理文本匹配和搜索的重要工具,在文本处理和数据提取中非常有用。
最后:?下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群:1150305204,里面有各种测试开发资料和技术可以一起交流哦。