이 기사의 예에서는 정규식 튜토리얼의 하위 표현식 사용법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.
참고: 모든 예제에서 정규식 일치 결과는 소스 텍스트의 [and] 사이에 포함됩니다. 일부 예제는 java를 사용하여 구현됩니다. Java 자체에서 정규식을 사용하는 방법은 해당 위치에서 설명합니다. 모든 Java 예제는 JDK1.6.0_13에서 테스트되었습니다.
1. 문제 소개
먼저, Windows 2000과 같은 일부 구문은 여러 단어로 구성되어 있지만 실제로는 줄 바꿈이 아닌 전체입니다. HTML 페이지에서 공백(즉, 줄바꿈 방지 공백)을 사용하여 브라우저의 한 줄에 표시되도록 할 수 있습니다. 이제 이러한 공백 여러 개를 일치시킬 수 있습니다.
텍스트: 운영 체제는 Windows 2000입니다.
정규식: nbsp;{2,}
결과: 운영 체제는 Windows 2000입니다.
분석: 여기에 사용된 패턴은 줄 바꿈이 아닌 2개 이상의 패턴과 일치하려고 합니다. 공백이지만 결과에서 볼 수 있듯이 nbsp;{2,} 패턴은 nbsp;;;;로 시작하는 텍스트와 nbsp;;와 같이 2개 이상의 연속 세미콜론이 있는 텍스트만 일치할 수 있기 때문에 일치하는 항목이 없습니다. ;;;.
앞서 언급한 반복 매칭은 반복 매칭 메타 문자 바로 앞의 문자를 여러 번 반복하는 것이므로 문자열을 여러 번 매칭하려면 어떻게 해야 할까요?
2. 하위 표현식
위에서 하위 표현식을 도출합니다. 하위 표현식은 더 큰 표현식의 일부입니다. 표현식을 여러 하위 표현식으로 나누는 목적은 해당 하위 표현식을 독립 요소로 사용하는 것입니다. 하위 표현식은 (and)로 묶어야 합니다. 따라서 이전 예의 정규식은 (nbsp;){2,}로 작성해야 합니다.
유효 연도와 일치하는 정규식을 살펴보겠습니다.
텍스트: 1988-11-13
정규식: (19|20)d{2}
결과: [1988]-11-13
분석: 이 예에서는 의미 없는 연도를 제외하기 위해 연도의 처음 두 자리는 19 또는 20으로 제한됩니다. 정규식 또는 연산자. 여기서 19|20은 하위 표현식, 즉 (19|20)에 들어가야 합니다. 그렇지 않으면 20으로 시작하는 연도만 일치할 수 있습니다.
3. 하위 표현식 중첩
하위 표현식은 다음과 같습니다. 중첩이 허용되며 여러 수준의 중첩이 허용됩니다. 이론상 중첩 수준에는 제한이 없습니다.
((A)(B(C))) 표현식에는 다음과 같은 하위 표현식이 있습니다.
1 ((A)(B(C)))
2(A)
3(B(C))
4(C)
총 4개가 있고, 0번째가 항상 전체를 나타냅니다. 표현. 다음 역참조에서는 n(n은 하위 표현식의 개수)을 통해 하위 표현식을 참조하는 방법을 소개합니다.
중첩된 하위 표현식의 예는 나중에 IPV4 주소와 일치하는 정규 표현식을 참조하세요.
이 글이 정규 표현식을 배우는 모든 분들에게 도움이 되기를 바랍니다.
더 많은 정규식 튜토리얼과 하위 표현식 사용법 분석 관련 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!

thesecrettokeepingAphp-poweredwebsiterunningsmoothlydlyUnderHeavyloadInvolvesEveralKeyStrategies : 1) ubstractOpCodeCachingWithOpCacheTecescripteExecutionTime, 2) usedatabasequeryCachingwithRedSendatabaseload, 3) LeverAgeCdnslikeCloudforforporerververforporporpin

Code는 코드가 더 명확하고 유지 관리하기 쉽기 때문에 의존성 주입 (DI)에 관심을 가져야합니다. 1) DI는 클래스를 분리하여 더 모듈 식으로 만들고, 2) 테스트 및 코드 유연성의 편의성을 향상시키고, 3) DI 컨테이너를 사용하여 복잡한 종속성을 관리하지만 성능 영향 및 순환 종속성에주의를 기울이십시오. 4) 모범 사례는 추상 인터페이스에 의존하여 느슨한 커플 링을 달성하는 것입니다.

예, PPAPPLICATIONISPOSSIBLEADESLESTION.1) INVERECINGUSINGAPCUTERODUCEDABASELOAD.2) INCODINCEDEXING, ENGICIONEQUERIES 및 CONNECTIONPOULING.3) 향상된 보드 바이어링, 플로 팅 포르코 잉을 피하는 최적화 된 APPCUTERODECEDATABASELOAD.2)

theKeyStrategiesToSINCINTIFILINTINTIFILINTINTHPPORMATIONPERFORMANCEARE : 1) USEOPCODECACHING-CCHACHETEDECUTECUTINGTIME, 2) 최적화 된 ABESINSTEMENTEMENDSTEMENTEMENDSENDSTATEMENTENDS 및 PROPERINDEXING, 3) ConfigureWebSerVERSLIKENGINXXWITHPMFORBETPERMERCORMANCES, 4)

aphpdectionenceindectioncontainerisatoolthatmanagesclassdependencies, 향상 Codemodularity, testability 및 maintainability.itactAsacentralHubForCreatingAndingDinjectingDingingDingingdecting.

대규모 응용 프로그램의 경우 SELLENCIONINGESS (DI)를 선택하십시오. ServicElocator는 소규모 프로젝트 또는 프로토 타입에 적합합니다. 1) DI는 생성자 주입을 통한 코드의 테스트 가능성과 모듈성을 향상시킵니다. 2) Servicelocator는 센터 등록을 통해 서비스를 얻습니다. 이는 편리하지만 코드 커플 링이 증가 할 수 있습니다.

phPapplicationSCanBeoptimizedForsPeedandefficiencyby : 1) ENABLEOPCACHEINPHP.INI, 2) PREPAREDSTATEMENTSWITHPDOFORDATABASEQUERIES 사용

phpeMailValidationInvoLvestHreesteps : 1) formatValidationUsingRegularexpressionsTochemailformat; 2) dnsValidationToErethedomainHasaValidMxRecord; 3) smtpvalidation, theSTHOROUGHMETHOD, theCheckSiftheCefTHECCECKSOCCONNECTERTETETETETETETWERTETWERTETWER


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

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

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

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

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