>  기사  >  백엔드 개발  >  PHP 마스크와 일치하지 않는 시작 부분 문자열의 길이를 얻는 방법

PHP 마스크와 일치하지 않는 시작 부분 문자열의 길이를 얻는 방법

王林
王林앞으로
2024-03-19 12:04:19426검색

PHP 편집기 바나나가 일치하지 않는 마스크의 시작 부분 문자열 길이를 얻는 방법을 소개합니다. PHP에서는 이 기능을 구현하기 위해 정규식과 결합된 preg_match 함수를 사용할 수 있습니다. 먼저 정규식을 사용하여 원하지 않는 문자를 일치시킨 다음 preg_match 함수를 통해 일치하는 위치를 얻은 다음 마지막으로 시작 부분 문자열의 길이를 계산합니다. 이를 통해 일치하지 않는 마스크의 시작 부분 문자열 길이를 가져오는 기능을 쉽게 구현할 수 있습니다.

질문: PHP에서 일치하지 않는 마스크의 시작 부분 문자열 길이를 얻는 방법

해결책:

정규식 preg_match() 函数,它返回匹配正则表达式的子字符串的长度。通过使用否定前瞻断言 (?!)과 일치하는 하위 문자열의 길이를 반환하는 preg_match() 함수를 사용하세요. 부정 예측 어설션 (?!)을 사용하면 지정된 마스크와 일치하지 않는 하위 문자열을 일치시킬 수 있습니다.

코드 예:

으아악

설명:

  • preg_match() 函数检查给定字符串 $subject 是否与正则表达式 $pattern 경기.
  • $pattern 정규 표현식:
    • ^: 문자열의 시작 부분을 고정합니다.
    • (?:...)*: 하위 패턴(...)과 일치하지 않는 문자가 0개 이상 일치합니다.
    • (?!$mask):否定前瞻断言,确保不匹配 $mask.
    • $: 끈의 끝부분을 고정하세요.
  • $matches 일치 항목이 포함된 배열 $matches 数组包含匹配项,其中 $matches[0]. 여기서 $matches[0]는 일치하지 않는 마스크의 시작 하위 문자열입니다.
  • strlen($matches[0]) 하위 문자열의 길이를 반환합니다.

추가 참고사항:

  • 마스크 정규식$mask이 유효한지 확인하세요.
  • 부정 예측 어설션은 효율성이 떨어지며 긴 문자열에는 권장되지 않습니다.
  • 첫 번째로 일치하는 문자를 찾을 때까지 문자 수를 계산하는 strspn() 함수를 대안으로 사용해 보세요.

strspn()을 사용한 전체 코드 예:

으아악

장점:

  • strspn() 긴 문자열에 더 효율적입니다.
  • 코드가 더 간결해졌습니다.

단점:

  • 복잡한 마스크 정규식은 지원되지 않습니다.

위 내용은 PHP 마스크와 일치하지 않는 시작 부분 문자열의 길이를 얻는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 lsjlt.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제