MST

星途 面试题库

面试题:Python正则匹配复杂单词边界场景

在字符串 'The dog123 runs fast, but the cat456 is lazy. dog runs faster than cat' 中,使用Python正则表达式匹配出完整的单词 'dog' 和 'cat',且要考虑单词边界,避免匹配到 'dog123' 或 'cat456' 这类情况,写出代码及解释。
11.3万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试
import re

text = 'The dog123 runs fast, but the cat456 is lazy. dog runs faster than cat'
pattern = r'\b(dog|cat)\b'  # \b 匹配单词边界,(dog|cat) 匹配 dog 或 cat
matches = re.findall(pattern, text)
print(matches)

解释:

  1. import re:导入Python的正则表达式模块。
  2. text 定义要搜索的字符串。
  3. pattern = r'\b(dog|cat)\b'
    • \b 是单词边界匹配符,确保匹配的 dogcat 是完整单词,而不是其他单词的一部分。
    • (dog|cat) 是一个分组,| 表示或,即匹配 dog 或者 cat
  4. re.findall(pattern, text):在 text 中查找所有与 pattern 匹配的内容,并以列表形式返回。
  5. print(matches):输出匹配到的结果。