使用 javascript 为每个字符匹配不同集的正则表达式

Regex to match different sets for each character using javascript

模式是 9 个字符:

字符 1:仅限字母 w、g、a、b 和 c

字符 2:仅限字母 p、m 和 x

字符 3、4 和 5:仅限十六进制 0-9 a-f

字符 6:仅破折号

字符 7、8 和 9:仅限十六进制 0-9 和 a-f

以下是一些符合此模式的名称示例:

gm9a1-8ac

bp7e3-2ab

ax3c1-51e

如何创建匹配的正则表达式?

我从一个只包含字母、数字和破折号的开始,但我需要使其满足上述规则。

/^([A-Za-z0-9\-]+)$/

谢谢!!!

试试这个:

^([wgabc][pmx][0-9a-f]{3}-[0-9a-f]{3})$

Demo

解释:
[wgabc] 仅限字母 w、g、a、b 和 c
[pmx] 仅限字母 p、m 和 x
[0-9a-f]{3} 仅限十六进制 0-9 a-f,3 次