Regex에서 문자 길이를 제한하는 데 미리보기가 어떻게 도움이 될 수 있습니까?

Barbara Streisand
풀어 주다: 2024-11-17 12:31:02
원래의
517명이 탐색했습니다.

How Can Lookaheads Help in Limiting Character Length in Regex?

예측을 사용하여 정규 표현식의 문자 길이 제한

정규 표현식으로 작업할 때 일치하는 문자 수를 제한해야 하는 경우가 많습니다. 특정 패턴. 그러나 다음 예에서 볼 수 있듯이 앵커에 수량자를 적용하려고 시도하면 오류가 발생할 수 있습니다.

var test =  /^(a-z|A-Z|0-9)*[^$%^&*;:,<>?()""']*${1,15}/    // Uncaught SyntaxError: Invalid regular expression
로그인 후 복사

이 제한을 극복하기 위해 입력 문자열의 시작 부분에 고정된 미리보기를 사용할 수 있습니다.

^(?=.{1,15}$)[a-zA-Z0-9]*[^$%^&*;:,<>()?""']*$
로그인 후 복사

이 미리보기를 통해 후속 문자가 다음 조건을 충족하는지 확인합니다.

  • 문자 클래스 [a-zA-Z0-9] 내에서 지정된 패턴과 일치합니다. 1.
  • 길이는 수량자 {1,15}로 지정된 대로 1~15자입니다.
  • 뒤에는 달러 기호 $anchor로 표시되는 문자열의 끝이 옵니다.

이 접근 방식을 사용하면 지정된 문자열을 계속 허용하면서 전체 입력 문자열의 길이를 효과적으로 15자로 제한할 수 있습니다.

중요 사항

  • 이 방법을 사용할 때 수량자에 "그룹" 대신 "문자 클래스"를 사용하는 것을 기억하세요.
  • 예측은 너비가 0인 어설션입니다. 즉, 문자를 사용하지 않지만 여전히 일치 여부를 확인합니다.
  • 입력 문자열에 개행 시퀀스가 ​​포함될 수 있는 경우 [sS]* 개행 문자를 포함한 모든 문자와 일치합니다.

  1. $%^&*;:,<>()?""

위 내용은 Regex에서 문자 길이를 제한하는 데 미리보기가 어떻게 도움이 될 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿