2014-01-14 36 views
2

我有不同類型的圖紙編號,我必須選擇一些特定的圖紙編號。 我想知道是否有可能使用正則表達式來匹配除了滿零之外的任何數字?正則表達式以匹配除滿零之外的任何數字?

下面是一個例子:

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」,如果不是這樣,但是這個組是充滿數字的,那是一個「生產圖紙」。

對於總成圖紙能正常工作:

^\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

你的詳細正則表達式不完全像你最初提到的正則表達式,哦。

對於生產圖紙,你可以這樣做:

^\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$ 
+0

啊...謝謝你完蛋了! btw:是的,我現在看到我的錯,我將(\ -0 +)更改爲(\ -0 {2,}),但我忘記了更改解釋.. – user3194447

+0

@ user3194447不客氣! :) – Jerry

相關問題