[정규표현식] .*? 와 .* 의 차이점
사이트 긁어오기를 하는 방법에는 여러가지 기술이 있다. 그중에서 가장 깔끔한 방법이 정규표현식을 이용하는 방법이다. 이 정규표현식이라는 녀석이 참으로 오묘해서, 할때마다 머리가 어지럽다.
사이트 긁어오기 할때 자주쓰이는 .*? 라는 녀석이 있다. 사람의 머리로 해석하기 참으로 애매한 녀석이다. 이아이와 해깔리는게 .* 이다.
먼저, .*? 를 써보면 아래와 같은 결과가 나온다.
<?
$rex="/\".*?\"/";
$txt='aaa "bbb" "ccc" "ddd"';
preg_match_all($rex,$txt,$o);
print_r($o);
?>
Array
(
[0] => Array
(
[0] => "bbb"
[1] => "ccc"
[2] => "ddd"
)
)
재미있는건, .*? 대신에 .* 를 쓰면 아래 결과 값이 나온다.
재미있는건, .*? 대신에 .* 를 쓰면 아래 결과 값이 나온다.
<?
$rex="/\".*\"/";
$txt='aaa "bbb" "ccc" "ddd"';
preg_match_all($rex,$txt,$o);
print_r($o);
?>
Array
(
[0] => Array
(
[0] => "bbb" "ccc" "ddd"
)
결과의 차이를 보면, 확실히 다르다.
각각 사이트 긁어오기를 할때, 사용할때가 분명히 있다. 주로 .*?를 쓰지만, 간혹 .*만 써야 할때도 있다.
정규표현식을 파면 팔수록, 참으로 오묘하다.
ps. 정규표현식을 쓴다고 정규직이 되는건 아닙니다. (이런걸 개그라고..)
사이트 파싱에 궁금한점이나, 의뢰는 로 주세요 ^^
'파싱의 추억' 카테고리의 다른 글
[사이트긁어오기 강좌#1] php와 snoopy로 로그인 처리 (3) | 2012.02.21 |
---|---|
사이트 긁어오기로 할 수 있는 6가지 놀라운 일 (10) | 2011.11.18 |
[정규표현식] .*? 와 .* 의 차이점 (3) | 2011.09.02 |
죄송합니다. 요청하신 검색이 원활하게 수행되지 못하고 있습니다.. 라는 오류가 뜰때는? (3) | 2011.02.18 |
네이버 블로그에서 티스토리로 이사하는 3가지 방법 (24) | 2010.09.16 |
7만원으로 집에서 리눅스 웹서버를 돌려볼까? (28) | 2010.04.20 |