Skip to main content
 首页 » 编程设计

python之查找中间有一个小写字母的大写字母

2025年05月04日20qlqwjy

我需要什么正则表达式来找到 3 个大写字母和它们之间的 1 个小写字母?

例如,我有:sDdDSADadasAHHdHSAsdsagfGoHHHfHHHH

但我需要:AHHdHSA

我是正则表达式的新手,但像 [A-Z]{3}[a-z]{1}[A-Z]{3} 这样的东西也可以找到 HHHfHHH,但我只需要 3 个大写,下一个需要小写。我需要获取 AHHdHSA。

请您参考如下方法:

您可以使用 lookarounds在 3 个大写字符之前和之后断言不是大写字符。

(?<![A-Z])[A-Z]{3}[a-z][A-Z]{3}(?![A-Z]) 
  • (?<![A-Z])负向后看,断言左侧没有大写字符
  • [A-Z]{3}匹配 3 个大写字符 A-Z
  • [a-z]匹配单个小写字符(请注意,您可以省略 {1} )
  • [A-Z]{3}匹配 3 个大写字符
  • (?![A-Z])否定前瞻,断言右边没有大写字符

Regex demo