제공된 문자열이 유효한 형식인지 확인하기 위해 식을 만들려고하지만 몇 개월 후에 정규식을 사용하지 않으면 배운 모든 것을 잊어 버리고 다시 배워야합니다. 010L0404FFCCAANFFCC00M000000XXXXXX가 네 개의 구분자는 (L, N은, K, M)를 0-9A-F의 16 진수 범위에서이 arent 고유성 표시하기 의 순서이어야Regex 올바른 순서로 문자열의 PHP에서 구분 기호로
내 발현은 이런 형식과 일치하도록되어 또는 목록에 없습니다. 각 구분 기호는 한 번만 존재할 수 있습니다!
그것은 이것 분해 :
- 는 단순히 3 개 자리 숫자로 시작은^([0-9] {3}) 항상 필요
- 번째 세트는 L로 시작 및 + 2 자리 + 6 16 진 2 자리 수와
- 제 3 세트는 N 시작 선택적이며 6 자리의 16 진이어야하며
- K 단순히 숫자의 양은 제 4 세트를 선택하고 선택적해야
- 다섯 번째 세트는 M 그것은 6, 0을 제외한의 배수 여야, 아무것도 표시하지 어떤 6 hexdecimals 또는 XXXXXX 수 있습니다와 같은 336699 (6) 또는 336699XXXXXXFFCC00 (18)와 선택적
내가 그것을 만드는 파악하지 못할 가장 어려운 부분 그 순서대로 필요하고, L 분리 문자가 앞에 와야하고, K가 항상 존재한다면 (여러 이유 때문에 분리 문자로 동일한 것을 의미하는 동일한 문자열을 변형하지 않는 이유) 배수가 필요합니다. 이미 구문 분석 할 수 있습니다. 문자열이 올바른 형식인지 확인하고 싶습니다.
감사합니다. 감사드립니다.
바보처럼 느껴집니다. 도움. 누구나 읽을 수있는 약간의 오타 M ([0-9A-Z])은 M ([0-9A-F] –
Ack, 감사합니다. 편집 됨)이어야합니다. – rra