정규 표현식의 문자 길이 제한
정규 표현식을 사용하여 입력 유효성을 검사할 때 정규 표현식의 문자 길이를 제한해야 할 수도 있습니다. 성냥. 이는 앵커와 너비가 0인 어설션을 사용하여 달성할 수 있습니다.
질문에 제공된 예에서는 정규식을 사용하여 문자 길이 제한 없이 문자, 숫자 및 특정 특수 문자만 포함하는 문자열을 일치시킵니다. 그런데 수량자 {1,15}를 사용하여 길이를 15자로 제한하려고 하면 구문 오류가 발생합니다.
그 이유는 수량자를 앵커에 적용할 수 없기 때문입니다. 문자 길이를 제한하기 위한 대체 접근 방식은 문자열 시작 부분에 고정된 미리보기를 사용하는 것입니다.
수정된 표현식:
^(?=.{1,15}$)[a-zA-Z0-9]*[^$%^&*;:,<>?()"]*$
이 표현식에는 미리보기(?= .{1,15}$), 문자열 끝에서 1~15자의 시퀀스를 확인합니다. 표현식의 주요 부분은 입력 문자열의 길이를 비교합니다.
마찬가지로 다양한 프로그래밍 언어에 맞게 표현식을 작성할 수 있습니다.
Flavor | Expression |
---|---|
ECMAScript, C | ^(?=.{1,15}$)[a-zA-Z0-9]*[^$%^&*;:,<>?()"]*$ |
Other regex flavors, Python | A(?=.{1,15}z)[a-zA-Z0-9]*[^$%^&*;:,<>?()"]*z |
추가 고려 사항
위 내용은 정규식에서 문자 길이를 제한하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!