>백엔드 개발 >PHP 튜토리얼 >preg_match_all 정규식 탐욕 및 비탐욕 모드

preg_match_all 정규식 탐욕 및 비탐욕 모드

巴扎黑
巴扎黑원래의
2016-11-07 16:39:111993검색

탐욕스러운 일치: 정규 표현식은 일반적으로 최대 길이까지 일치하는 경향이 있는데, 이를 욕심쟁이 일치라고 합니다.

욕심없는 매칭: 가능한 적은 수의 일치하는 문자로 결과를 매칭하세요.

그래서 실습해 봅시다

php preg_match_all의 줄 수를 사용합니다

다음에서 두 개의 링크를 제거해야 합니다 문자열 내용

PHP 코드

1.

2.

이것은 분명히 우리가 원하는 것이 아닙니다.

그런 다음 $play_pattern에 문자를 하나만 추가하면 필요한 정보를 일치시킬 수 있습니다

PHP 코드

1 $. play_pattern = '/

결과는

Array

(
[0] => Array
(
[0 ] => BD
[1] => DVD
)


[1] => 배열
(
[0] => /videos / 68759vod-play-id-68759-sid-0-pid-1.html
[1] => /videos/68759vod-play-id-68759-sid-0-pid-0.html
)


[2] => 배열
(
[0] => BD
[1] => DVD
)


)

그리디 모드와 비 욕심 모드의 차이가 너무 큽니다.

이러한 오류는 HTML에서 목록을 정규화할 때 자주 발생합니다. preg_match_all을 사용하면 전체 문자열이 일치하지만 하위 문자열 일치는 무시됩니다. 잘못된 결과로 이어집니다.


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.