나는 국가 정보 데이터를 포함하여 GeoNames을 데이터베이스의 로컬 복사본을 사용하고 있습니다를 우편/우편 번호 정규 표현식의 유효성을 검사하는 .NET Regex.Match를 사용하는 방법. 내 사용자 지정 .NET 응용 프로그램은 사용자가 입력 한 우편/우편 코드의 유효성을 검사해야합니다. 유효성 검사는 로컬에서 수행해야하며 사용할 수있는 Geonames 웹 서비스를 사용할 수 없습니다. 이것은 나의 신청의 필요 조건이다. 어떻게하는지 알아낼 수있게 도와 주길 바래요.
Geonames Country Info 데이터베이스 안에 해당 국가의 국가/우편 번호를 확인하는 정규식이 포함 된 필드가 있습니다.
GeoNames을 데이터베이스에 정규식 등에서 특정 요소를 뽑아 오기 : 여기에 캐나다와 미국 모두에 대한 데이터에 포함 된 정규식 유효성 검사가 완료되면 내 응용 프로그램에서
Canada: ^([a-zA-Z]d[a-zA-Z]d[a-zA-Z]d)$
USA: ^(d{9})$
, 내가 먼저 국가를 식별하는 가 선택되면 특정 국가의 유효한 우편 번호 정규 표현식을 찾습니다. 나는 다음 경기를 테스트하기 위해 다음과 같은 .NET/C# 코드를 사용
bool testResult = Regex.IsMatch(postalCode, geonamesRegexForCountry);
내가 우편/우편 번호 유효 샘플 데이터를 입력 할 때, 정규 표현식 매치 테스트는 항상 실패합니다. 유효한 값은 다음과 같습니다.
Canada:
Postal Code: L5R3K6
Postal Code: L8M1L5
USA:
Zip Code: 35801
Zip Code: 72201
테스트는 항상 실패합니다. 왜 그런가? Geonames 데이터베이스가 .NET Regex.Match()
함수가 사용하는 것과 다른 "정규 표현식 구문"을 사용합니까? 여기에서 진행하는 방법에 대한 제안?
나는 캐나다와 미국뿐만 아니라 모든 국가의 우편 번호를 검증해야하므로 Geonames 데이터베이스에 존재하는 풍부한 콘텐츠를 활용할 수 있기를 기대합니다!
도움 주셔서 감사합니다.
MomentSurfer
친절하게 도와 주셔서 감사합니다. 정말 감사! – MomentSurfer