MST

星途 面试题库

面试题:Python正则表达式条件匹配基础应用

假设你有一个字符串列表,其中每个字符串要么是'good_123'这种格式(前面是'good_',后面跟着三位数字),要么是'bad_abc'这种格式(前面是'bad_',后面跟着三个字母)。请使用Python正则表达式写一个函数,对于'good_'开头的字符串返回数字部分,对于'bad_'开头的字符串返回字母部分。
45.7万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试
import re


def extract_part(s):
    good_pattern = re.compile(r'good_(\d{3})')
    bad_pattern = re.compile(r'bad_([a-zA-Z]{3})')
    good_match = good_pattern.match(s)
    bad_match = bad_pattern.match(s)
    if good_match:
        return good_match.group(1)
    elif bad_match:
        return bad_match.group(1)
    return None