이번에는 일반 멀티라인 모드와 싱글라인 모드 사용에 대한 자세한 그래픽과 텍스트 설명을 가져오겠습니다. 일반 멀티라인 모드와 싱글라인 모드 사용 시 주의사항은 무엇인가요? 보세요.
Expresso에서 "여러 줄 모드"를 테스트하세요.
테스트 1
참고: 여기 샘플 텍스트에서 3eeeee 뒤에는 캐리지 리턴이 없으며 커서는 e 바로 뒤에 있습니다. 위의 검색 결과 영역에 표시된 대로 일치 결과는 3eeeeee입니다.
여기서 1abcde와 2abc가 일치하지 않는 이유는 무엇인가요?
여러 줄 모드 활성화
^ 문자열 의 시작 부분(문자열의 시작 위치)과 일치하거나 줄의 시작 부분(즉, 개행 문자 뒤의 위치)과 일치할 수 있습니다. n)
$ 문자열의 끝(문자 문자열의 끝 위치)과 일치할 수 있으며 줄의 끝(즉, 개행 문자 n 앞의 위치)과 일치할 수도 있습니다.
멀티 끄기 line mode
^ 문자열의 시작 부분만 일치할 수 있습니다
$ 문자열의 끝 부분만 일치할 수 있습니다
지식 포인트: r은 캐리지 리턴 문자, n은 줄 바꿈 문자입니다. Windows에서는 일반적으로 줄 바꿈이라고 부르는 것이 기본적으로 캐리지 리턴이 먼저이고 그 다음 줄 바꿈이 더 자세히 설명되어 있습니다.
위 그림과 같이 r은 [CR]과 일치하고 n은 [LF]와 일치합니다 <—— CR은 캐리지 리턴 LF는 줄 바꿈입니다.
여러 단락의 문자열(예:
ab
cd
e
) Windows에서 작동 시스템에서는 실제로 다음과 같습니다. ab[CR][LF]cd[CR][LF]e
Windows에서 텍스트의 캐리지 리턴 및 줄 바꿈은 0D 0A로 저장됩니다. 즉, 먼저 저장된 것이 "캐리지 리턴 r"
CR은 기호 'r'로 표시되며, ASCII 코드는 13입니다. 16진수 시스템은 0x0D입니다.
LF는 기호 'n'으로 표시되고, ASCII 코드는 10, 16진수는 0x0A입니다.
정규 표현식: (?m)^(dw+)(s*)$
샘플 텍스트
일치 결과
Expresso 및 PHP에서 다중 줄 모드가 활성화되면 "$"는 문자열의 끝이나 "n" 앞의 위치와 일치합니다.
한 줄 모드
한 줄 모드 활성화: . 모든 문자와 일치할 수 있습니다(줄 바꿈 포함).
한 줄 모드 닫기: 줄 바꿈이 아닌 문자만 일치합니다. 기타 모든 문자(.는 r과 일치할 수 있음) 즉, n과 일치하지 않는 경우를 제외하고 모든 문자 )
다중 행 모드는 ^ 및 $의 일치에 영향을 미칩니다.
단일 행 모드의 일치는 ^ 또는 $ 또는 둘 다를 포함해야 합니다. m을 추가해도 의미가 없습니다
단선 모드와 다선 모드는 8극에 패할 수 없는 두 가지 개념입니다. 이 두 MS가 상호 배타적인 것은 정규 개발의 역사적 이유 때문입니다. Single-line 모드는 소수점 "."의 일치 범위에 영향을 미칩니다.
Multi-line 패턴은 "^" 및 "$"의 일치 범위에 영향을 줍니다.
다음 개념은 필요한 연결이 없습니다. 전역 매칭, 다중 라인 모드 및 그리디 모드 사이
글로벌 모드는 일부 스크립트 언어에서만 볼 수 있는 개념입니다.
일치할 때 .NET의 Match 메서드와 유사하게 전역 모드를 끄고 .NET과 유사하게 전역 모드를 켭니다. Matches 메서드는 Java의 replacementFirst와 유사하게 교체를 수행할 때 전역 모드를 끕니다. , Java의 replacementAll과 유사하게 전역 모드를 켭니다
(일치 수행 시 PHP의 preg_ match와 유사하게 전역 모드를 끕니다
함수
이 기사의 사례를 읽으신 후 방법을 마스터하셨다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!
추천 도서:PHP 일반 너비가 0인 어설션 사용에 대한 자세한 설명
위 내용은 일반 다중 라인 모드와 단일 라인 모드 사용에 대한 자세한 그래픽 및 텍스트 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!