IT/php

php preg_match 파싱 문자열 패턴

조원태 2016. 10. 24. 16:46
반응형

php preg_match 정규식에 일치하는 문자열을 배열로 리턴하기

 

preg_match — 정규표현식 매치를 수행

 

pattern : 탐색할 패턴 문자열. 
subject : 입력 문자열. 
matches : matches가 주어지면, 검색 결과를 채워넣습니다. $matches[0]는 전체 패턴 텍스트가 들어가고, $matches[1]부터 괄호로 둘러싸인 서브 패턴을 채워넣습니다. 
flags  : flags는 다음과 같은 플래그를 사용할 수 있습니다: 
PREG_OFFSET_CAPTURE이 플래그를 넘기면, 모든 매치에 대한 문자열 시작 위치를 함께 반환합니다. 반환값을 0에 매치한 문자열을 가지고, 1에 문자열 시작 위치를 가지는 배열을 원소로 갖는 배열로 변경하는 점에 주의하십시오.  offset
일반적으로, 검색은 목표 문자열의 처음에서 시작합니다. 선택적인 인수 offset으로 검색을 시작할 다른 위치를 지정할 수 있습니다. (바이트 단위)

 

 

<?php
$subject = "abcdef";
$pattern = '/^def/';
preg_match($pattern, substr($subject,3), $matches, PREG_OFFSET_CAPTURE);
print_r($matches);
?> 

결과 
Array
(
    [0] => Array
        (
            [0] => def
            [1] => 0
        )

 

4번째 인수인 PREG_OFFSET_CAPTURE 이 것은 사용안해도 무방합니다.

 

preg_match 나 preg_match_all 같은 경우는 문자열에서 특정 문자열을 추출할 경우 많이 사용합니다.

반응형