0

我已经尝试自己创建一个正则表达式来做到这一点,但老实说,我现在的头脑是如此困惑,以至于我必须寻求帮助......这也可能对未来的人们有所帮助。

我有以下输入模板:

06-6A-BF-05-AF-84-DF-A4-23-7C-BE-B4-6C-95-D7
JK1T-XTSRV-2HC4D-RP4S7-ZMKRG

我需要从输入字符串中挑选出像这两个这样的字符串。输入字符串可能如下所示:

JK1T-XTSRV-2HC4D-RP4S7-ZMKRG
FDGF-A1S0M-5M8XJ-T08WC-BCZSJ
C6-6C-1C-17-B7-EE-BE-EA-E3-7C-EF-23-6C-12-F1
asdf234 ,f C6-324_EE

在这种情况下,将返回以下内容:

JK1T-XTSRV-2HC4D-RP4S7-ZMKRG, FDGF-A1S0M-5M8XJ-T08WC-BCZSJ, C6-6C-1C-17-B7-EE-BE-EA-E3-7C-EF-23-6C-12-F1

因此,正则表达式需要具有以下限制才能匹配字符串:

  • 15 两个字符(数字或字母)对,由-
  • 5 四个字符(数字或字母)对,由-

什么正则表达式会匹配这些?

4

1 回答 1

1

您应该使用两个正则表达式:

(\w{2}-){14}\w{2}
\w{4}-(\w{5}-){3}\w{5}

第二种实际上是一个四个字符和四个五个字符。

测试 1: http: //fiddle.re/h3ve6

测试 2: http: //fiddle.re/3a5e6

于 2013-03-16T07:25:08.083 回答