You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python3如何使用正则匹配以A开头、*结尾且中间不含*的字符串

正则匹配实现方案

核心正则表达式

完全匹配要求:以大写A开头、结尾、中间仅包含字母、无符号:

r'A[a-zA-Z]*\*'

如果需要排除A*这类中间无字母的匹配结果,把量词*换成+即可:

r'A[a-zA-Z]+\*'

规则说明

  • 开头A:固定匹配片段首字符为大写A
  • [a-zA-Z]:匹配所有大小写英文字母,天然排除*等非字母字符
  • 量词*/+:控制中间字母允许出现的次数,*代表0次或多次,+代表1次或多次
  • 末尾\*:转义匹配星号,确保片段以*结尾

Python 3 完整使用示例

import re

# 测试字符串
input_str = "Atest* hello A123* Aworld* demo A* Axyz*end*"

# 编译正则(这里用允许中间无字母的版本,可根据需求替换)
pattern = re.compile(r'A[a-zA-Z]*\*')

# 提取所有匹配结果
matches = pattern.findall(input_str)
print(matches)
# 输出:['Atest*', 'Aworld*', 'A*', 'Axyz*']

自定义调整方案

  • 如果要求首字符不区分大小写(同时匹配A/a开头),可以给正则加re.IGNORECASE参数,或者把开头的A改成[Aa]
  • 如果要求中间仅支持小写字母,把[a-zA-Z]替换为[a-z]
  • 如果要求中间仅支持大写字母,把[a-zA-Z]替换为[A-Z]

内容的提问来源于stack exchange,提问作者Sandy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 06:54:03