> 백엔드 개발 > PHP 튜토리얼 > 정규 표현식을 사용하여 텍스트에서 YouTube 비디오 ID를 추출하는 방법은 무엇입니까?

정규 표현식을 사용하여 텍스트에서 YouTube 비디오 ID를 추출하는 방법은 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-12-16 15:49:18
원래의
948명이 탐색했습니다.

How to Extract YouTube Video IDs from Text Using Regular Expressions?

정규 표현식을 사용하여 텍스트에서 YouTube 동영상 ID를 추출하는 방법

문제:

주어진 사용자가 텍스트를 입력할 수 있는 텍스트 필드에서 작업은 모든 YouTube 동영상 URL과 해당 URL을 추출하는 것입니다. ID.

정규 표현식을 사용한 솔루션:

주어진 문자열에서 YouTube 동영상 ID를 추출하려면 가능한 모든 YouTube URL 형식과 일치할 수 있는 정규 표현식을 사용할 수 있습니다. 이를 달성할 수 있는 샘플 정규식은 다음과 같습니다.

https?://(?:[0-9A-Z-]+\.)?(?:youtu.be/|youtube(?:-nocookie)?\.com\S*?[^\w\s-])([\w-]{11})(?=[^\w-]|$)(?![?=&amp;+%\w.-]*(?:['"][^<>]*>|</a>))[?=&amp;+%\w.-]*
로그인 후 복사

정규식 분석:

  • https?://: HTTP 또는 HTTPS 프로토콜과 일치합니다.
  • (?:[0-9A-Z-] .)?: 선택 사항과 일치합니다. 하위 도메인.
  • (?:youtu.be/|youtube(?:-nocookie)?.comS*?[^ws-]): "youtu.be"를 포함한 모든 YouTube 호스트 형식과 일치합니다. "youtube.com", "youtube-nocookie.com"이며 동영상 ID 앞에 추가 문자를 허용합니다.
  • ([w-]{11}) (캡처 그룹): 11자리 영숫자 문자열인 YouTube 동영상 ID를 캡처합니다.
  • (?=[^w-]|$): 다음 문자가 영숫자 문자 또는 끝이 아닌 경우 일치하는 긍정적 예측 어설션입니다. 문자열입니다.
  • (?![?=& %w.-]*(?:['"][^<>]*>|))[?=& %w.-]*: URL을 보장하는 부정 예측 어설션 은(는) 아직 연결되어 있지 않습니다.

사용법:

이것을 사용할 수 있습니다 예를 들어 JavaScript에서는 다음 코드를 사용하여 YouTube 동영상 ID를 추출할 수 있습니다.

function extractYouTubeIds(text) {
  const regex = /https?://(?:[0-9A-Z-]+\.)?(?:youtu.be/|youtube(?:-nocookie)?.com\S*?[^\w\s-])([\w-]{11})(?=[^\w-]|$)(?![?=&amp;+%\w.-]*(?:['"][^<>]*>|</a>))[?=&amp;+%\w.-]*/;
  const matches = text.match(regex);
  return matches ? matches.map(id => id.slice(17)) : [];
}
로그인 후 복사

slice(17)는 "https:/ /www.youtube.com/watch?v=" YouTube URL의 접두사를 사용하여 동영상 ID를 추출합니다.

위 내용은 정규 표현식을 사용하여 텍스트에서 YouTube 비디오 ID를 추출하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿