>백엔드 개발 >C++ >정규식을 사용하여 HTML 링크에서 href 값을 추출하려면 어떻게 해야 합니까?

정규식을 사용하여 HTML 링크에서 href 값을 추출하려면 어떻게 해야 합니까?

Susan Sarandon
Susan Sarandon원래의
2025-01-10 08:12:41242검색

How Can I Extract href Values from HTML Links Using Regular Expressions?

정규식을 사용하여 HTML 링크에서 href 값 추출

강력한 HTML 구문 분석에는 일반적으로 전용 HTML 파서가 권장되지만, 더 간단한 시나리오에는 정규식 접근 방식을 사용할 수 있습니다. 이 솔루션은 href 값을 추출하여 작은따옴표와 큰따옴표를 모두 처리합니다.

<code><a\s+(?:[^>]*?\s+)?href=("|')(.+?)</code>

설명:

  • <as : 여는 <a> 태그 뒤에 선택적 공백이 오는 것과 일치합니다.
  • (?:[^>]*?s )?: 선택적으로 href 앞의 다른 속성 및 공백과 일치합니다. ?:은 이를 비캡처 그룹으로 만듭니다.
  • href=("|'): 뒤에 작은따옴표나 큰따옴표가 오는 href 속성과 일치합니다. 인용문은 그룹 1에 담겨있습니다.
  • (. ?): href 값 자체를 캡처합니다(그룹 2).
  • 1: 닫는 인용문과 일치합니다(그룹 1에서 캡처한 시작 인용문과 동일).

중요 고려 사항:

이 정규식은 완전한 HTML 파서가 아닙니다. 형식이 잘못되었거나 복잡한 HTML에서는 실패합니다. 사전 처리되고 단순화된 HTML 스니펫에 가장 적합합니다. 예를 들어 다음과 같이 추출된 href 속성 목록에 사용하세요. href="mylink.com"

특정 링크 유형 필터링:

물음표(?)와 등호(=)가 모두 포함된 링크를 필터링하려면 다음 세련된 정규식을 사용하세요.

<code>href=(.*?)\?(.*?)=(.*?)</code>

이렇게 하면 지정된 특성을 가진 링크만 선택됩니다. 복잡한 HTML 구조에는 신뢰할 수 있는 결과를 얻으려면 전용 HTML 파서가 필요하다는 점을 기억하세요.

위 내용은 정규식을 사용하여 HTML 링크에서 href 값을 추출하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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