⊗ppPmRgRP 253 of 447 menu

정규식 치환에서의 캡처 그룹 사용하기 in PHP

preg_replace 함수를 사용할 때, 정규식에서 무엇인가를 캡처 그룹에 넣으면, 치환 문자열에서 달러 기호 $와 캡처 그룹 번호를 써서 해당 캡처 그룹의 내용을 삽입할 수 있습니다. 예를 들어, $0 - 제로 캡처 그룹, $1 - 첫 번째 캡처 그룹, $2 - 두 번째 캡처 그룹 등입니다.

이것이 왜 필요한지, 어떻게 사용하는지 예제를 통해 살펴보겠습니다.

예제

모든 숫자를 찾아서, 그 숫자를 중괄호로 감싼 형태로 바꿔보겠습니다. 이를 위해 찾은 모든 숫자를 중괄호로 감싼 자기 자신으로 치환합니다:

<?php $str = '1 23 456 xax'; $res = preg_replace('#(\d+)#', '{$1}', $str); ?>

결과 변수에는 다음이 저장됩니다:

'{1} {23} {456} xax'

예제

x로 둘러싸인 모든 숫자 문자열을 찾아서 그 숫자를 '!' 기호로 둘러싼 형태로 바꿔보겠습니다:

<?php $str = 'x1x x23x x456x xax'; $res = preg_replace('#x(\d+)x#', '!$1!', $str); ?>

결과 변수에는 다음이 저장됩니다:

'!1! !23! !456! xax'

예제

다음 문제를 풀어봅시다: 'aaa@bbb' 형태의 문자열이 있습니다 - 글자, 그 다음 @ 기호, 그 다음 글자. @ 앞의 글자와 뒤의 글자를 서로 바꿔야 합니다. 구현해 보겠습니다:

<?php $str = 'aaa@bbb ccc@ddd'; $res = preg_replace('#([a-z]+)@([a-z]+)#', '$2@$1', $str); ?>

결과 변수에는 다음이 저장됩니다:

'bbb@aaa ddd@ccc'

실습 문제

문자열이 주어집니다:

<?php $str = '12 34 56 78'; ?>

모든 두 자리 숫자에서 숫자 순서를 바꾸세요.

날짜 문자열이 주어집니다:

<?php $str = '31.12.2025'; ?>

이 날짜를 '2025.12.31' 형태로 변환하세요.

한국어
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
우리는 웹사이트 운영, 분석 및 개인화를 위해 쿠키를 사용합니다. 데이터 처리는 개인정보 처리방침에 따라 이루어집니다.
모두 수락 설정 거부