⊗ppPmRgESCh 226 of 447 menu

PHP 정규식에서 특수 문자 이스케이프

특수 문자 자체를 의미하도록 만들고 싶다고 가정해 봅시다. 이를 위해서는 역슬래시를 사용하여 이스케이프해야 합니다. 예제를 통해 살펴보겠습니다.

예제

다음 예제에서 정규식 작성자는 검색 패턴이 다음과 같이 보이길 원했습니다: 문자 'a', 그 다음 더하기 기호 '+', 그 다음 문자 'x'. 그러나 코드 작성자는 기호 '+'를 이스케이프하지 않았기 때문에 실제 검색 패턴은 다음과 같습니다: 문자 'a'가 한 번 이상 반복된 후, 문자 'x':

<?php $str = 'a+x ax aax aaax'; $res = preg_replace('#a+x#', '!', $str); ?>

결과적으로 변수에는 다음이 기록됩니다:

'a+x ! ! !'

예제

이번에는 작성자가 역슬래시로 더하기 기호를 이스케이프했습니다. 이제 검색 패턴이 의도한 대로 보입니다: 문자 'a', 그 다음 더하기 기호 '+', 그 다음 문자 'x'.

<?php $str = 'a+x ax aax aaax'; $res = preg_replace('#a\+x#', '!', $str); ?>

결과적으로 변수에는 다음이 기록됩니다:

'! ax aax aaax'

예제

이 예제에서 패턴은 다음과 같습니다: 문자 'a', 그 다음 마침표 '.', 그 다음 문자 'x':

<?php $str = 'a.x abx azx'; $res = preg_replace('#a\.x#', '!', $str); ?>

결과적으로 변수에는 다음이 기록됩니다:

'! abx azx'

예제

다음 예제에서 작성자는 슬래시를 이스케이프하는 것을 잊었고, 정규식은 이스케이프되지 않은 마침표가 모든 문자를 의미하기 때문에 모든 부분 문자열에 일치했습니다:

<?php $str = 'a.x abx azx'; $res = preg_replace('#a.x#', '!', $str); ?>

결과적으로 변수에는 다음이 기록됩니다:

'! ! !'

예제

마침표가 자신을 나타내야 할 때 역슬래시를 잊는 경우 - 이를 알아차리기 어려울 수 있다는 점에 유의하세요:

<?php preg_replace('#a.x#', '!', 'a.x'); // 우리가 원한 대로 '!'를 반환합니다. ?>

시각적으로는 올바르게 작동합니다 (마침표가 모든 문자, 일반적인 마침표 '.'를 포함하여 의미하기 때문입니다). 그러나 대체가 발생하는 문자열을 변경하면 우리의 실수를 볼 수 있습니다:

<?php preg_replace('#a.x#', '!', 'a.x abx azx'); // '! ! !'을 반환하지만, 기대한 것은 '! abx azx'였습니다. ?>
한국어
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
우리는 웹사이트 운영, 분석 및 개인화를 위해 쿠키를 사용합니다. 데이터 처리는 개인정보 처리방침에 따라 이루어집니다.
모두 수락 설정 거부