正则表达式匹配除零之外的任何数字?

时间:2014-01-14 15:08:15

标签: regex excel vba expression

我有不同类型的图纸编号,我必须选择一些特定的图纸编号。 我想知道是否可以使用正则表达式来匹配除零之外的任何数字?

以下是一个例子:

5635/13-500-00-00-000/a - Type 1 assy drawing
5635/13-500-00-00-010/a - Type 1 production drawing

图纸编号包含一组数字除以“ - ”。组的数字> = 2。

差异是最后一组数字(000 vs 010)..如果最后一组数字是零,那就是“assy drawing”,如果没有,但这个数组充满了数字,那就是“制作图纸“。

对于assy图纸,这很好用:

^\d{3,5}\/\d{2}(\-\d{2,})+(\-0{2,})\/\D$

^           
\d{3,5}      3-5 digit number
\/           /
\d{2}        2 digit number
(\-\d{2,})+  (minus sign followed by >=2 digit number) any times
(\-0+)       minus sign followed by >=2 zero number
\/           /
\D           one non digit character
$

但是我必须在这个正则表达式中加入“生产图”吗?

1 个答案:

答案 0 :(得分:1)

你的详细正则表达式看起来并不像你最初提到的正则表达式,哦。好吧。

对于生产图纸,您可以使用:

^\d{3,5}/\d{2}(-\d{2,})+(-[0-9]*[1-9]+[0-9]*)/\D$

它将匹配数字,并且至少有一个非零数字。

regex101 demo

你不应该在VBA中逃避正斜杠,但以防万一......

^\d{3,5}\/\d{2}(-\d{2,})+(-[0-9]*[1-9]+[0-9]*)\/\D$