1

我正在尝试匹配一个模式,但我无法修复我的 REGEX 以使其正常工作。

我有文字:

REG1QA

我的正则表达式如下:

([A-Z]{3})+([1-3]{1})+([A-Z]{1})+((A|B|C)|(D|E|F)|(G|H|I))

规则是: 如果我的第 4 个字符是 1,我的最后一个字符必须是 A、B 或 C 如果我的第 4 个字符是 2,我的最后一个字符必须是 D、E 或 F 如果我的第 4 个字符是 3,我的最后一个字符必须是 G、H或者我

如何修复我的 REGEX 以接受此规则?

tks

4

3 回答 3

1

在这里试试这个:

^[A-Z]{3}(1[A-Z]*[ABC]|2[A-Z]*[DEF]|3[A-Z]*[GHI])$

我不确定 char 5 是否也可以是 AZ,但在我的示例中是这样的。因此,您有一个共同的开始,即 1-3 的开关及其规则。

于 2012-11-29T18:35:31.037 回答
1

使用正则表达式模式^.{3}(?:1.*[A-C]|2.*[D-F]|3.*[G-I])$

于 2012-11-29T18:44:03.547 回答
0
[A-Z]{3}((1.*?[A-C]$)|(2.*?[D-F]$)|(3.*?[G-I]$))
于 2012-11-29T18:35:57.700 回答