正则表达式 - 接受 AZ,排除某些固定长度的字母

use*_*921 3 regex regex-negation

我找不到如何从字符串的固定长度部分中排除一些字符

^XXX-\d{4}-(?![XYT])[A-Z]{4}$ 我可以XYT从最后一个字符串的第一个字符中排除,所以

XXX-0000-AAAA is ok
XXX-0000-XAAA is not ok
Run Code Online (Sandbox Code Playgroud)

我的问题是我不希望XYT最后一段的任何部分

XXX-0000-AAXA is not ok
XXX-0000-ABXX is not ok
XXX-0000-ABCT is not ok
and so on
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

更准确地说,我补充说 XYT 是变量,因此固定列表的解决方案有效但不方便

mel*_*ene 5

为什么不只用于[A-SU-WZ]{4}最后一部分呢?即只匹配您想要的字母。

或者,将前瞻部分作为重复的一部分:(?:(?![XYT])[A-Z]){4}