如何用正则表达式匹配字母+数字+字母数字+点+0-4位字母数字格式的字符串?
正则匹配修正方案
修正后的可用代码:
import re answer = re.findall(r'^[A-Za-z]\d\w\.\w{0,4}$', target_string)核心修正与说明:
- 移除原表达式末尾多余的右括号
),修复语法错误 - 添加
^(字符串开头)和$(字符串结尾)锚点,确保匹配完整的目标格式字符串,避免从长文本中误截片段 - 表达式结构完全贴合需求:
[A-Za-z]:匹配单个大小写字母\d:匹配单个数字\w:匹配单个字母、数字或下划线(若需排除下划线,替换为[A-Za-z0-9]即可)\.:转义匹配点号(避免被当作正则通配符)\w{0,4}:匹配0到4个字母、数字或下划线
- 移除原表达式末尾多余的右括号
排除下划线的版本(仅匹配纯字母数字):
answer = re.findall(r'^[A-Za-z]\d[A-Za-z0-9]\.[A-Za-z0-9]{0,4}$', target_string)
内容的提问来源于stack exchange,提问作者kamal babaei
相关产品推荐
相关产品推荐

