正则表达式匹配N-NN-NN

时间:2014-05-16 12:58:06

标签: regex

我需要一些RegEx模式匹配的帮助。

如果我想要匹配

,我如何编写正则表达式
N-NN-N-NN-NN-N-NNN

但也

N-NN-NN-NN

〔实施例:

  

10pcs-棘轮扳手组合扳手 6-8-10-11-12-13-14-15-17-19   Cr-v,加热12pcs-1 / 4dr <4-40.5-5-5.5-6-7-8-9-10-11-12-13 Cr-v,加热   17pcs-1 / 2dr 10-11-12-13-14-15-16-17-18-19-20-21-22-23-24-27-30   Cr-v,加热 1-2-33 Cr-V加热器 1-.2-1-4

它需要匹配总字符串中至少2 -的位置。所以像020-11223344这样的电话号码是匹配的。

字符串几乎总是看起来像这个6-8-10-11-12-13-14-15-17-19,除了有时.可以在数字之前出现,它们的长度也不同,是否可能?

到目前为止,我想出了这个,但它也匹配了电话号码,当.出现时,它确实匹配。

(\d-[^>])

在此页面上,您可以找到不同的图案:http://www.cazoom.nl/en/partij-aanbod/186-pcs-working-tools-trolly-3

3 个答案:

答案 0 :(得分:3)

这种模式怎么样:

[\d.]+(?:-[\d.]+){2,}

匹配[\d.]+,如果后跟至少2x -[\d.]+

(?:使用非捕获组进行重复。

test at regex101

答案 1 :(得分:2)

以下正则表达式将匹配该事物。

(?:\.?\d\.?\d?-){2,}\.?\d\.?\d?

Regular expression visualization

Debuggex Demo

答案 2 :(得分:0)

试试以下正则表达式:

^\d-\d{2}-\d(\d-\d{2})|(\d-\d{2}-\d-\d{3})$