035. 编写一个函数,实现简单的文本搜索功能

示例代码

import re

def simple_text_search(text, pattern):
    """
    在文本中搜索指定的模式。

    参数:
        text (str): 要搜索的文本。
        pattern (str): 要搜索的模式。

    返回:
        list: 匹配到的所有子串组成的列表。
    """
    # 使用 re.findall 查找所有匹配项
    matches = re.findall(pattern, text)
    return matches

# 测试代码
text = "The quick brown fox jumps over the lazy dog. The dog was not amused."
pattern = r"\b\w{4}\b"  # 查找所有长度为4的单词
matches = simple_text_search(text, pattern)

print("匹配到的子串:", matches)

代码解释

  1. 导入 re 模块re 模块提供了正则表达式相关的功能。
  2. 定义函数:定义了一个名为 simple_text_search 的函数,接受两个参数:text(要搜索的文本)和 pattern(要搜索的模式)。
  3. 使用 re.findall()re.findall() 函数会在整个字符串中查找所有与正则表达式匹配的子串,并将它们以列表形式返回。
  4. 返回结果: 函数返回匹配到的所有子串组成的列表。

测试结果

运行上述代码后,输出如下:

匹配到的子串: ['over', 'lazy', 'The', 'dog']

注意事项

正则表达式

  • 正则表达式是文本搜索的核心工具,可以根据需要定义复杂的匹配模式。

  • 在示例中,r"\b\w{4}\b" 匹配所有长度为 4 的单词,其中 \b 表示单词边界,\w{4} 表示匹配 4 个单词字符。

性能:对于大规模文本搜索,正则表达式的性能可能会受到影响,可以根据实际情况优化正则表达式。

视频讲解

BiliBili: 视睿网络-哔哩哔哩视频 (bilibili.com)