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

如何在Python中修改正则表达式匹配AAA后的非A字符?

问题:修改正则表达式匹配AAA后的非A字符

现有Python代码如下:

def append_letter():
  string = 'ACAABAACAAABACDBADDDFSDDDFFSSSASDAFAAACBAAAFASD'

  result = []
  # complete the pattern below
  pattern = r'(?<=AAA)\w+'
  for item in re.finditer(pattern, string):
    # identify the group number below.
    result.append(item.group(1))
  return result

需求:原本希望匹配AAA之后的所有字符(包括A),现在需要仅修改pattern = r'(?<=AAA)\w+'这一行代码,实现匹配AAA之后的非A字符并添加到列表中。


解决方案

将pattern修改为:

pattern = r'(?<=AAA)([^A]+)'

解释:

  • (?<=AAA):保留原有的正向肯定后行断言,确保匹配位置的前面是连续的AAA。
  • ([^A]+):[^A]是反向字符集,代表匹配除A之外的任意单个字符;+限定符表示匹配一次或多次这类非A字符,括号将这部分内容设为捕获分组,适配原代码中item.group(1)的调用逻辑。

如果不需要适配分组调用,仅需匹配非A字符的最简写法是:

pattern = r'(?<=AAA)[^A]+'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 08:15:02