Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP mb_ereg_match() 함수로 정규식 패턴 매칭하는 방법

PHP에서 mb_ereg_match() 함수는 주어진 문자열이 정규식 패턴과 일치하는지 검사할 때 사용됩니다. 이 함수는 문자열의 시작 부분부터 일치 여부를 확인하며, 문자열 끝까지 모두 일치해야 하는 것은 아닙니다. 패턴과 일치하는 부분을 찾으면 true(1)를 반환하고, 찾지 못하면 false(0)를 반환합니다.

문법

bool mb_ereg_match(str $pattern, str $string, str $options)

매개변수

mb_ereg_match() 함수는 다음 세 가지 매개변수를 받습니다.

  • $pattern − 검사에 사용할 정규식 패턴입니다.

  • $string − 평가 대상이 되는 입력 문자열입니다.

  • $options − 검색 방식을 지정하는 옵션입니다.

반환 값

mb_ereg_match()는 주어진 문자열이 정규식 패턴과 일치하면 true 또는 1을 반환하고, 일치하지 않으면 false 또는 0을 반환합니다.

예제 1

<?php
   // H가 문자열 시작 부분에서 일치하므로 true 반환
   $result = mb_ereg_match("H", "Hello World");
   var_dump($result);

   // "World"는 H로 시작하지 않으므로 false 반환
   $output = mb_ereg_match("H", "World");
   var_dump($output);
?>

실행 결과

bool(true)
bool(false)

참고 − 위 예제에서 볼 수 있듯이, 이 함수는 문자열의 시작 부분만 검사합니다. 즉, 패턴이 문자열 중간에 있어도 시작 부분에서 일치하지 않으면 false를 반환합니다.

만약 문자열 내 어느 위치에서든 패턴과 일치하는지 확인하고 싶다면 와일드카드(.)와 반복 연산자(*)를 조합한 .*를 사용하면 됩니다. 다음 예제를 살펴보세요.

예제 2

<?php
   // .*e 패턴으로 문자열 내 임의 위치의 'e'와 일치 검사
   $result = mb_ereg_match(".*e", "Hello World");
   var_dump($result);
?>

실행 결과

bool(true)

이처럼 .*를 활용하면 문자열 시작 부분뿐 아니라 문자열 전체 범위에서 원하는 패턴과 일치하는지 유연하게 검사할 수 있습니다.