⊗ppPmRgVA 258 of 447 menu

PHP 정규식의 전방 탐색

때때로 이런 유형의 문제를 해결해야 할 때가 있습니다: 문자열 'aaa'를 찾아서 '!'로 바꾸되, 'aaa' 뒤에 'x'가 있을 때만, 그리고 'x' 자체는 바꾸지 않아야 합니다. 만약 우리가 이 문제를 '직접' 해결하려고 하면, 성공하지 못할 것입니다:

<?php preg_replace('#aaax#', '!', 'aaax'); // 결과는 '!', 그러나 '!x'가 되어야 함 ?>

이 문제를 해결하려면, 'x'를 바꾸지 않아야 한다는 것을 말할 수 있는 방법이 필요합니다. 이것은 특별한 괄호 (?= )를 사용하여 수행되며, 이 괄호는 단순히 확인만 하고 소비하지는 않습니다.

이 괄호를 긍정형 전방 탐색이라고 합니다. 긍정형 - 왜냐하면 'x'(우리의 경우)가 있어야만 - 그때 교체가 발생하기 때문입니다.

우리의 문제를 해결하기 위해 이 괄호를 적용해 봅시다:

<?php preg_replace('#aaa(?=x)#', '!', 'aaax'); // '!x'를 반환함 ?>

부정형 전방 탐색도 있습니다 - (?! ) - 이것은 반대로, 어떤 것이 없어야 한다고 말합니다. 다음 예제에서는 'aaa' 뒤에 'x'가 없을 때만 교체가 발생합니다:

<?php preg_replace('#aaa(?!x)#', '!', 'aaab'); // '!b'를 반환함 ?>

함수 이름을 포함하는 문자열이 주어집니다:

<?php $str = 'func1() func2() func3()'; ?>

문자열에서 함수 이름들의 배열을 얻으세요.

태그가 있는 문자열이 주어집니다:

<?php $str = '<a href="" class="eee" id="zzz">'; ?>

이 태그의 속성 이름들의 배열을 얻으세요.

한국어
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақКыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
우리는 웹사이트 운영, 분석 및 개인화를 위해 쿠키를 사용합니다. 데이터 처리는 개인정보 처리방침에 따라 이루어집니다.
모두 수락 설정 거부