php — PCRE 정규식 일회성 하위 그룹화
최대 및 최소 수량자 제한이 모두 있는 중복의 경우 일치가 실패한 후 패턴이 일치할 수 있는지 확인하기 위해 다른 반복 횟수로 다시 평가됩니다. 패턴 작성자가 구현에 문제가 없음을 확실히 알고 있는 경우 일치 동작을 변경하거나 이전 일치 항목이 실패하도록 하여 이 동작을 방지하는 것이 유용합니다.
d+foo 패턴이 대상 행 123456bar에 적용된 경우의 예를 고려하십시오.
6자리 숫자를 일치시킨 후 "foo"를 일치시키지 못합니다. 일반적인 동작은 일치자가 d+를 사용하려고 할 때입니다. 5개의 숫자만 일치하고, 4개의 숫자만 일치하며, 최종적으로 실패하기 전에 순차적으로 시도합니다. 일회성 하위 그룹은 패턴의 일부가 일치하면 재평가되지 않으므로 "foo" 일치에 대한 첫 번째 실패 직후에 일치자가 실패할 수 있다는 점에서 특별한 의미를 제공합니다. 구문 기호는 (?>d+)bar와 같이 (?>로 시작하는 또 다른 특수 유형의 괄호입니다.
이 괄호는 일치 항목이 포함된 경우 패턴의 일부에 "잠금"을 제공합니다. 즉, future 패턴이 실패한 후 역추적을 방지하고, 다른 작업은 평소대로 계속됩니다.
즉, 대상 문자열의 현재 일치 지점이 다음과 같은 경우입니다. 앵커 포인트, 이 유형의 하위 그룹 일치 문자열은 별도의 패턴 일치와 동일합니다.
일회성 하위 그룹은 간단히 말해서 가능한 한 많은 문자를 일치시킵니다. 따라서 d+와 d+?는 모두 나머지 패턴이 일치하도록 숫자 수를 조정하지만 (?>d+)는 전체 숫자 시퀀스와만 일치합니다. 복잡하고 중첩될 수 있습니다.
일회성 하위 그룹은 대상 문자열 끝에 유효한 일치 항목을 지정하기 위해 예견 어설션과 함께 사용할 수 있습니다. 일치하지 않는 긴 문자열입니다. 일치 항목은 왼쪽에서 오른쪽으로 처리되므로 PCRE는 대상에서 각 "a"를 찾은 다음 패턴의 나머지 부분이 ^.*abcd$인지 확인한 다음 초기 .*를 먼저 찾습니다. 전체 문자열과 일치하지만 실패하면(뒤에 "a"가 없기 때문에) 모든 일치 항목을 역추적하고 순서대로 마지막 문자를 내뱉고 마지막 문자 2개를 "a"로 검색합니다. 전체 문자열에서 오른쪽에서 왼쪽으로 패턴이 작성되면 멋지게 종료할 수 없습니다. ^(?>.*)(?<=abcd) 그러면 .* 부분을 다시 보지 않습니다. 전체 문자열과 일치합니다. 실패하면 긴 문자열에 대한 예측 어설션이 즉시 실패합니다. 패턴은 처리 시간에 있어 상당한 성능 향상을 가져옵니다.
패턴에 무한히 반복할 수 있는 하위 그룹이 포함된 경우 일회성 하위 그룹을 사용하여 내부에서 반복되는 요소는 실패한 일치 비용을 피하는 것입니다. (D+|

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











PHP 8.4는 상당한 양의 기능 중단 및 제거를 통해 몇 가지 새로운 기능, 보안 개선 및 성능 개선을 제공합니다. 이 가이드에서는 Ubuntu, Debian 또는 해당 파생 제품에서 PHP 8.4를 설치하거나 PHP 8.4로 업그레이드하는 방법을 설명합니다.

CakePHP는 PHP용 오픈 소스 프레임워크입니다. 이는 애플리케이션을 훨씬 쉽게 개발, 배포 및 유지 관리할 수 있도록 하기 위한 것입니다. CakePHP는 강력하고 이해하기 쉬운 MVC와 유사한 아키텍처를 기반으로 합니다. 모델, 뷰 및 컨트롤러 gu

CakePHP에 로그인하는 것은 매우 쉬운 작업입니다. 한 가지 기능만 사용하면 됩니다. cronjob과 같은 백그라운드 프로세스에 대해 오류, 예외, 사용자 활동, 사용자가 취한 조치를 기록할 수 있습니다. CakePHP에 데이터를 기록하는 것은 쉽습니다. log() 함수는 다음과 같습니다.

VS Code라고도 알려진 Visual Studio Code는 모든 주요 운영 체제에서 사용할 수 있는 무료 소스 코드 편집기 또는 통합 개발 환경(IDE)입니다. 다양한 프로그래밍 언어에 대한 대규모 확장 모음을 통해 VS Code는

CakePHP는 오픈 소스 MVC 프레임워크입니다. 이를 통해 애플리케이션 개발, 배포 및 유지 관리가 훨씬 쉬워집니다. CakePHP에는 가장 일반적인 작업의 과부하를 줄이기 위한 여러 라이브러리가 있습니다.
