我需要一些RegEx模式匹配的帮助。
如果我想要匹配,该如何编写正则表达式?
N-NN-N-NN-NN-N-NNN
但同时也
N-NN-NN-NN
例外:
10件-棘轮扳手组合扳手6-8-10-11-12-13-14-15-17-19 Cr-v,加热12 4dr 1/4 4dr 4-4.5-5-5.5-6-7-8-9-10-11-12-13 Cr-v,加热17 4dr 1/2 4dr 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
发布于 2014-05-16 13:12:30
那么这个模式呢:
[\d.]+(?:-[\d.]+){2,}
匹配[\d.]+
(如果后面至少有2 x -[\d.]+
)
(?:
使用非捕获组进行重复。
regex101测试
发布于 2014-05-16 13:13:52
发布于 2014-05-16 13:00:36
只需尝试使用以下正则表达式:
^\d-\d{2}-\d(\d-\d{2})|(\d-\d{2}-\d-\d{3})$
https://stackoverflow.com/questions/23695575
复制相似问题