PHP에서 정규 표현식 소개
정규 표현식은 복잡한 검색 및 바꾸기를 위한 명령입니다. 이를 통해 매우 흥미로운 일을 할 수 있지만, 불행히도 습득하기가 상당히 어렵습니다.
정규 표현식 작업을 위한 여러 PHP 함수가 존재합니다.
우리는 preg_replace 함수를 예로 들어
이를 소개합니다. 이 함수는 첫 번째 매개변수로 무엇을 바꿀지,
두 번째 매개변수로 무엇으로 바꿀지를 받고, 세 번째 매개변수로는
대체 작업이 필요한 문자열을 받습니다:
<?php
preg_replace(무엇을, 무엇으로, 문자열);
?>
이때 첫 번째 매개변수로 이 함수는 단순한 문자열이 아니라
정규 표현식을 받습니다. 이는 해시 기호 # 안에
명령 집합이 위치한 문자열로 표현됩니다.
이 해시 기호를 정규 표현식의 구분자라고 합니다.
구분자 뒤에는 수정자를 쓸 수 있습니다 - 이는 정규 표현식의 일반적인 속성을 변경하는 명령입니다.
정규 표현식 자체는 두 가지 유형의 문자로 구성됩니다: 자신을 나타내는 문자와 특수 문자라고 불리는 명령 문자입니다.
문자와 숫자는 자신을 나타냅니다. 다음
예에서 우리는 정규 표현식을 사용하여
문자 'a'를 '!'로 바꿉니다:
<?php
preg_replace('#a#', '!', 'bab'); // returns 'b!b'
?>
반면 마침표는 특수 문자이며
임의의 문자를 나타냅니다. 다음
예에서 우리는 다음과 같은 패턴으로 문자열을 찾습니다:
문자 'x', 그 다음 임의의 문자, 그 다음
다시 문자 'x':
<?php
preg_replace('#x.x#', '!', 'xax eee'); // returns '! eee'
?>
문자열이 주어졌습니다:
<?php
$str = 'ahb acb aeb aeeb adcb axeb';
?>
패턴: 문자 'a', 임의의 문자,
문자 'b'에 따라 문자열
'ahb', 'acb', 'aeb'를
찾는 정규 표현식을 작성하세요.
문자열이 주어졌습니다:
<?php
$str = 'ahb acb aeb aeeb adcb axeb';
?>
패턴: 문자 'a', 임의의 문자 두 개,
문자 'b'에 따라 문자열
'aeeb', 'adcb', 'axeb'를
찾는 정규 표현식을 작성하세요.