> 백엔드 개발 > C++ > 정규식에서 문자 길이 제한을 어떻게 적용할 수 있나요?

정규식에서 문자 길이 제한을 어떻게 적용할 수 있나요?

Patricia Arquette
풀어 주다: 2025-01-26 19:56:10
원래의
358명이 탐색했습니다.

How Can I Enforce Character Length Limits in Regular Expressions?

정규 표현식에서 문자 길이 강제 적용

정규식에는 길이 제한이 필요한 경우가 많습니다. 그것들이 없으면 정규식은 모든 길이의 문자열과 일치합니다. 수량자는 해결책처럼 보이지만(예: {1,15}) 전체 문자열에서 직접 작동하지는 않습니다. 수량자는 바로 앞의 요소에만 영향을 미치기 때문입니다.

예를 들어 다음 시도는 실패합니다.

<code class="language-javascript">var test = /^(a-z|A-Z|0-9)*[^$%^&*;:,?()""']*${1,15}/ // Error!</code>
로그인 후 복사

예측 솔루션

올바른 접근 방식은 긍정적인 예측 주장을 활용합니다.

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

예측 이해

(?=.{1,15}$)이 핵심입니다. 이 긍정적 예측은 전체 문자열(처음 ^부터 끝까지 $까지)에 1~15자(.{1,15})가 포함되어 있다고 주장합니다. 어떤 문자도 사용하지 않습니다. 상태만 확인합니다. 나머지 정규식 [a-zA-Z0-9]*[^$%^&*;:,?()""']*$은 해당 길이 제약 조건 내에서 허용되는 문자와 일치합니다.

줄바꿈 처리

문자열에 개행 문자가 포함될 수 있는 경우 보다 강력한 문자 클래스를 사용하여 개행을 포함한 모든 문자와 일치시키세요.

<code class="language-javascript">^(?=[\s\S]{1,15}$)[a-zA-Z0-9]*[^$%^&*;:,?()""']*$</code>
로그인 후 복사

[sS]은 공백 또는 공백이 아닌 문자와 일치합니다. 이렇게 하면 여러 줄 입력 시에도 길이 확인이 올바르게 작동합니다. 이는 정규식에서 문자 길이 제한을 적용하는 안정적인 방법을 제공합니다.

위 내용은 정규식에서 문자 길이 제한을 어떻게 적용할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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