用正则表达式捕获重复模式

时间:2013-12-21 21:26:22

标签: regex

我正在尝试匹配像这样的模式CODE-UH87H-98HSH-HB383-JWWB2U,我有以下正则表达式模式CODE\-[A-Z0-9]+\-[A-Z0-9]+\-[A-Z0-9]+\-[A-Z0-9]+,但是有更好的方法吗?我试过了CODE(\-[A-Z0-9]+\-){4}但它无效

3 个答案:

答案 0 :(得分:1)

  

我试过了CODE(\-[A-Z0-9]+\-){4}但它无效

这确实需要连续两次破折号。完整的,它将是CODE\-[A-Z0-9]+\-\-[A-Z0-9]+\-\-[A-Z0-9]+\-\-[A-Z0-9]+\-。你想要的是

CODE(\-[A-Z0-9]+){4}

答案 1 :(得分:0)

你快到了。 CODE(\-[A-Z0-9]+){4}应该有效!

答案 2 :(得分:0)

当破折号之间的图案可能包含任何字符时,以下正则表达式甚至更短:

CODE(-[^-]+){4}

当然,根据您将使用的正则表达式引擎,您可能必须添加\才能在短划线前进行转义。