2010-06-08 2 views
0

VB 스크립트 생성 방법 VPparam (IP 주소 유효성)을 검사하기위한 불규칙한 구문 구문 IP 주소의 마지막 octatat가 ip (xy)와 각 IP 우리 VBparam 다른 IP를VBScript 일부 특수 문자로 IP 주소 유효성을 검사하는 정규식

VBparam = 172.17.202.1-20

VBparam = 172.17.202.1-10,192.9.200.1-100

예를 추가하기 위하여 ","분리를 넣을 수

VBparam = 172.17.20 2.1-10,192.9.200.1-100,180.1.1.1-20

난 당신이 찾고있는 용어는 "불규칙한"아니다 "정규 표현식"생각
+0

스택 오버플로에 더 적합합니다. 자동으로 이주됩니다. 당신은 질문을 소유권을 되찾기 위해 여기에 Stack Overflow (같은 OpenID로) 계정을 등록해야합니다. –

+0

VB Split() 함수를 사용하여 마침표에 네 개의 하위 문자열이 배열 된 배열을 만들고 네 개의 하위 문자열이 있는지 확인하는 것이 더 쉽습니다. 각 옥텟은 숫자 적이며 논리적으로 정확한 것입니다. VB와 같이 정규 표현식과 친숙한 것 같습니다. :) – dkretz

답변

0

THX의 야엘은 - 구글이 검색 할 때 도움이 될 수 있습니다. 나는 완전한 스크립트를 제공하기에 충분한 VB 모르지만, 당신이 찾고있는 패턴은 다음과 같습니다
(\d{1,3}\.){3}\d{1,3}(\-\d{1,3})?(,(\d{1,3}\.){3}\d{1,3}(\-\d{1,3})?)*

이 유효성을 검사하지 않을 것이다 X < Y, 각 옥텟은 적절한 범위, 즉에 있음 999.999.999.999가 유효합니다. X < Y를 정규식 (정규 표현식의 경우 약식)으로 유효화 할 수 없으므로 패턴 캡처를 사용하여 스크립트에서 자신을 확인해야합니다. 옥텟이 올바른 범위에 있는지 확인하려면 위의 스크립트에 나타날 때마다 을 ((1\d{2})|(2[0-4]\d)|(25[0-5])|\d{1,2})으로 바꿉니다.

+0

안녕하세요. \ d {1,3}을 나머지 구문으로 바꿉니다.하지만 추가 할 작업이 필요하지 않습니까? Dim strPattern : strPattern = "(((1 \ d {2}) | (2 [0-4] \ d) | (25 [0-5]) | \ d {1,2}) ((1 \ d {2}) | (2 [0-4] \ d) | (25 [0-5]) | \ d {1,2} } (2 [0-4] \ d) | (25 [0-5]) | \ d {1,2}) (\ - ((1 \ d {2}) | ] (2) [(25 (0 [0]) | (d (1,2))) [0-5]) | \ d {1,2}) \.) {3} ((1 \ d {2}) | (2 [0-4] \ d) | (25 [0-5]) \ d {1,2}) (\ -)?) "" –

+0

@yael 당신이 제공 한 예제로 테스트 해봤는데, 표현식이 작동합니다. '\'는 종종 언어에서 이스케이프 문자이며, VBscript에서 이스케이프해야 할 수도 있음을 명심하십시오. 이러한 완전 이스케이프 표현식은'((1 \\ d {2}) | (2 [0-4] \\ d) | (25 [0-5]) | \\ d {1,2})가 될 것입니다. \\ d \ {2} \ {2 \\ d} | (25 [0-5]) | \\ d {1,2} \ (d (1,2))) (((((1 \\ d {2}) | 1 \\ d {2}) | (2 [0-4] \\ d) | (25 [0-5]) | \\ d {1,2}) \\.) {3} ((1 \ \ d {1,2}) (\\ - ((1 \\ d {2} \ d {2}) | (2 [0-4] \\ d) | (25 [0-5]) | \\ d {1,2}))?) *' –

+0

OK thx 내가 기억할 것입니다 yael –

관련 문제