>  기사  >  백엔드 개발  >  전문가 공유: PHP 및 정규식을 사용하여 수집된 데이터를 처리하는 방법론

전문가 공유: PHP 및 정규식을 사용하여 수집된 데이터를 처리하는 방법론

WBOY
WBOY원래의
2023-08-09 17:22:46576검색

전문가 공유: PHP 및 정규식을 사용하여 수집된 데이터를 처리하는 방법론

전문가 공유: 수집된 데이터를 PHP와 정규식으로 처리하는 방법론

소개:
인터넷 시대에는 엄청난 양의 데이터가 지속적으로 생성되고 유포됩니다. 개발자에게는 방대한 데이터에서 가치 있는 정보를 효율적으로 추출하는 것이 중요한 과제가 되었습니다. 데이터 수집 및 처리 과정에서 PHP는 널리 사용되는 프로그래밍 언어이며 정규 표현식과 결합하면 데이터 처리의 효율성과 정확성을 크게 향상시킬 수 있습니다. 이 글의 목적은 수집된 데이터를 PHP와 정규식을 사용하여 처리하는 몇 가지 방법론을 공유하고 독자가 참고할 수 있는 코드 예제를 제공하는 것입니다.

텍스트:
1. 정규식의 기본 구문
정규식은 문자열 패턴을 설명하는 도구이며 문자열 일치, 검색, 바꾸기 또는 확인에 사용할 수 있습니다. PHP에서는 preg 일련의 함수를 사용하여 정규식 작업을 수행합니다. 다음은 일반적으로 사용되는 정규식 메타 문자 및 패턴 수정자입니다.

  1. 메타 문자:
  2. . 모든 문자를 나타냅니다.
  3. ^은 일치하는 문자열의 시작을 나타냅니다.
  4. $는 일치하는 문자열의 끝을 나타냅니다.
  5. []는 일치를 나타냅니다. 그룹화 및 캡처를 위한 괄호 안의 모든 문자
  6. ()
    • 은 이전 문자와 0회 이상 일치함을 의미합니다.
    • 은 이전 문자와 1회 이상 일치함을 의미합니다.
  7. ? 문자 0 또는 1번
  8. {n}은 이전 문자와 n번 일치를 의미합니다.
  9. {n,}는 이전 문자와 최소 n번 일치를 의미합니다.
  10. {n,m}은 이전 문자와 최소 n번 일치를 의미합니다. m번
  11. 수정자:
  12. i는 대소문자를 구분하지 않음을 의미합니다.
  13. g는 전역 일치를 의미합니다(첫 번째 결과가 아닌 일치하는 모든 결과 찾기)
  14. m은 여러 줄 일치를 의미합니다.

2. 데이터 수집을 위한 일반적인 시나리오
실제 데이터 수집 시나리오에는 데이터 추출을 위해 주의를 기울이고 이에 따라 정규식을 작성해야 하는 몇 가지 일반적인 패턴이 있습니다.

  1. 추출 URL:

    $url = "https://www.example.com";
    $pattern = '/https?://([w.]+)//';
    preg_match($pattern, $url, $matches);
    $domain = $matches[1];
    echo $domain;
  2. 추출 이메일 주소:

    $email = "example@example.com";
    $pattern = '/^([w.-]+)@([w-]+).([a-z]{2,6})$/i';
    preg_match($pattern, $email, $matches);
    $username = $matches[1];
    $domain = $matches[2];
    $extension = $matches[3];
    echo $username, $domain, $extension;
  3. HTML 태그에서 콘텐츠 추출:

    $html = "<a href='https://www.example.com'>Example</a>";
    $pattern = '/<a.*?href=['"](.*?)['"].*?>(.*?)</a>/i';
    preg_match($pattern, $html, $matches);
    $url = $matches[1];
    $text = $matches[2];
    echo $url, $text;

3 데이터를 추출하는 간단한 정규식 외에도. 또한, PHP는 수집된 데이터를 처리하고 분석하기 위해 다른 기능 및 방법과 결합할 수도 있습니다.

  1. 날짜 및 시간 형식 처리:

    $dateString = "2021-01-01 12:34:56";
    $pattern = '/(?P<year>d{4})-(?P<month>d{2})-(?P<day>d{2}) (?P<hour>d{2}):(?P<minute>d{2}):(?P<second>d{2})/';
    preg_match($pattern, $dateString, $matches);
    $year = $matches['year'];
    $month = $matches['month'];
    $day = $matches['day'];
    $hour = $matches['hour'];
    $minute = $matches['minute'];
    $second = $matches['second'];
    echo $year, $month, $day, $hour, $minute, $second;

  2. 페이지가 매겨진 데이터 처리:

    $html = file_get_contents("https://www.example.com/page=1");
    $pattern = '/<a.*?href=['"](.*??page=(d+)).*?['"].*?>/';
    preg_match_all($pattern, $html, $matches);
    $urls = $matches[1];
    $pageNumbers = $matches[2];
    foreach ($urls as $key => $url) {
     echo "Page {$pageNumbers[$key]}: $url";
    }

결론:

PHP와 정규 표현식을 사용하면 수집된 데이터를 유연하고 효율적으로 처리하고 의미 있는 정보를 추출할 수 있습니다. 정규식의 기본 구문과 패턴 수정자를 합리적으로 사용하고, 다양한 수집 시나리오에 따라 해당 정규식을 작성하고, 기타 기능과 방법을 결합하여 데이터를 처리 및 분석하면 데이터 수집 및 처리 요구를 더 잘 충족할 수 있습니다.

참조:

    PHP 공식 문서: https://www.php.net/manual/en/book.pcre.php

위 내용은 전문가 공유: PHP 및 정규식을 사용하여 수집된 데이터를 처리하는 방법론의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.