정규표현식
-
[정규표현식] .*? 와 .* 의 차이점파싱의 추억 2011. 9. 2. 11:38
사이트 긁어오기를 하는 방법에는 여러가지 기술이 있다. 그중에서 가장 깔끔한 방법이 정규표현식을 이용하는 방법이다. 이 정규표현식이라는 녀석이 참으로 오묘해서, 할때마다 머리가 어지럽다. 사이트 긁어오기 할때 자주쓰이는 .*? 라는 녀석이 있다. 사람의 머리로 해석하기 참으로 애매한 녀석이다. 이아이와 해깔리는게 .* 이다. 먼저, .*? 를 써보면 아래와 같은 결과가 나온다. Array ( [0] => Array ( [0] => "bbb" [1] => "ccc" [2] => "ddd" ) ) 재미있는건, .*? 대신에 .* 를 쓰면 아래 결과 값이 나온다. Array ( [0] => Array ( [0] => "bbb" "ccc" "ddd" ) ) 결과의 차이를 보면, 확실히 다르다. 각각 사이트 긁어..
-
PHP 정규표현식을 이용해서 사이트 긁어보자 (노가다 없이 자료 수집하는 방법)파싱의 추억 2010. 3. 27. 01:54
"사이트 긁어오기" 다른말로 사이트 파싱작업을 하는 이유는 단순하다. 노가다를 컴터에게 대신 시키기 위해서다. 로또번호를 일주일마다 입력하기 귀찮기 때문에 나눔로또 사이트에서 매주 로또 번호를 긁어온다. 경쟁사의 상품을 매번 찾아 볼 수가 없기 때문에 옥션을 주기적으로 긁어 온다. 사이트 긁어오기를 구현하기 위해서는 정규표현식이 필수다. 정규표현식을 몰라도 가능은 하다. 소스가 지저분해지고 나중에 수정하기면서 욕나오는 것만 빼면.. 정규표현식이라는 녀석이 간단해 보이지만 쓸 때마다 헤깔리고 잊어버린다. 그래서 사이트 긁어오는 방법을 간단히 정리해본다. 그전에 php에서 정규표현식을 사용하는 방법을 간단히 걸어 넘어가자. php에서 정규표현식을 쓰는 방법은 여러가지다. 개인적으로는 아래방법을 이용한다. i..