我有不同类型的图纸编号,我必须选择一些特定的图纸编号。 我想知道是否可以使用正则表达式来匹配除零之外的任何数字?
以下是一个例子:
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
$
但是我必须在这个正则表达式中加入“生产图”吗?
答案 0 :(得分:1)
你的详细正则表达式看起来并不像你最初提到的正则表达式,哦。好吧。
对于生产图纸,您可以使用:
^\d{3,5}/\d{2}(-\d{2,})+(-[0-9]*[1-9]+[0-9]*)/\D$
它将匹配数字,并且至少有一个非零数字。
你不应该在VBA中逃避正斜杠,但以防万一......
^\d{3,5}\/\d{2}(-\d{2,})+(-[0-9]*[1-9]+[0-9]*)\/\D$