全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

正则表达式search 与findall的用法

发布时间:2023-05-29 17:08:00
发布人:zyh

  正则表达式中,search() 和 findall() 函数是两个常用的检索函数,它们的区别在于返回的结果不同。

正则表达式search 与findall的用法

  search() 函数在文本中查找匹配项,并返回第一个匹配项的位置和信息(即一个 Match 对象),如果没有找到,则返回 None。

  例如,使用以下 Python 代码在字符串 "The quick brown fox jumps over the lazy dog" 中查找第一个匹配 "fox" 的位置和信息:

import re

text = "The quick brown fox jumps over the lazy dog"
match = re.search(r'fox', text)

if match:
print("Match found at:", match.start())
else:
print("Match not found")

      输出结果为:Match found at: 16。即在字符串中从第 16 个位置开始匹配 "fox" 子字符串。

  findall() 函数在文本中查找所有匹配项,并以匹配结果组成的列表形式返回,如果没有找到匹配项,则返回空列表[]。

  例如,使用以下 Python 代码在字符串 "The quick brown fox jumps over the lazy dog" 中查找所有三个连续字母的单词:

import re

text = "The quick brown fox jumps over the lazy dog"
matches = re.findall(r'\b\w{3}\b', text)

if matches:
print("Matches found:", matches)
else:
print("Matches not found")

      输出结果为:Matches found: ['The', 'fox', 'the', 'dog']。即找到了所有由三个字母构成的单词。

  总之,如果只需要找到第一个匹配项,使用 search();如果需要找到所有匹配项,使用 findall()。

相关文章

python写入json文件?

python写入json文件?

2023-11-02
vscode设置tab为4个空格?

vscode设置tab为4个空格?

2023-11-02
更新pycharm?

更新pycharm?

2023-11-02
anaconda每次打开都要安装?

anaconda每次打开都要安装?

2023-11-02

最新文章

武汉新媒体行业公司排名

武汉新媒体行业公司排名

2023-11-01
武汉新媒体就业现状好吗

武汉新媒体就业现状好吗

2023-11-01
武汉全媒体行业发展现状及趋势

武汉全媒体行业发展现状及趋势

2023-10-31
武汉全媒体现状

武汉全媒体现状

2023-10-31
在线咨询 免费试学 教程领取