2014-01-14 4 views
2

다른 종류의 도면 번호가 있습니다. 특정 도면 번호를 선택해야합니다. 정규 표현식을 사용하여 0이 아닌 숫자를 제외한 모든 숫자와 일치하는 것이 가능한지 알고 싶습니다. "-"0으로 채워진 숫자를 제외한 모든 숫자와 일치하는 정규식?

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

도면 번호로 나눈 수의 그룹을 포함 여기서

는 일례이다. 그룹의 자릿수> = 2

차이점은 마지막 숫자 그룹 (000 대 010)입니다. 마지막 숫자 그룹이 0으로 채워지는 경우,이 그룹에 숫자가 꽉 찼을 경우 "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

자세한 정규식은 처음 언급 한 정규식처럼 보이지 않습니다. 오. 그것은 번호와 일치합니다

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

관련 문제