我需要什么正则表达式来找到 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])否定前瞻,断言右边没有大写字符
