> 백엔드 개발 > PHP 튜토리얼 > 정규식을 사용하여 문자열에서 YouTube 동영상 ID를 추출하는 방법은 무엇입니까?

정규식을 사용하여 문자열에서 YouTube 동영상 ID를 추출하는 방법은 무엇입니까?

Barbara Streisand
풀어 주다: 2024-12-30 01:34:10
원래의
800명이 탐색했습니다.

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

Regex를 사용하여 문자열에서 YouTube 동영상 ID 추출

문제:

사용자가 임의로 입력할 수 있는 텍스트 필드가 있습니다. 텍스트이며 모든 YouTube 동영상 URL과 해당 URL을 추출해야 합니다. ID.

해결책:

정규 표현식을 사용하여 문자열에서 YouTube 동영상 ID를 추출하려면 다음 단계를 따르세요.

  1. 정규식 정의 패턴:

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

    설명:

    • 동영상 URL 패턴을 다양한 형식과 일치
    • 에서 YouTube ID를 캡처합니다. $1
  2. 정규식을 사용하여 텍스트 구문 분석:

    re.findall 기능을 사용하여 다음에서 모든 YouTube 동영상 URL을 검색합니다. 그만큼 text.

    import re
    
    def find_video_ids(text):
        pattern = r'https?:\/\/(?:[0-9A-Z-]+\.)?(?:youtu\.be\/|youtube(?:-nocookie)?\.com\S*?[^\w\s-])([\w-]{11})(?=[^\w-]|$)(?![?=&amp;+%\w.-]*(?:['"][^<>]*>|</a>))[?=&amp;+%\w.-]*'
        return re.findall(pattern, text)
    로그인 후 복사
  3. 동영상 ID 추출:

    re.findall 함수는 일치하는 동영상 URL 목록을 반환합니다. [:11]을 사용하여 각 URL에서 동영상 ID에 액세스할 수 있습니다(YouTube 동영상 ID는 11자 길이입니다).

    def get_video_ids(text):
        video_urls = find_video_ids(text)
        return [url[:11] for url in video_urls]
    로그인 후 복사

예:

text = """
Lorem Ipsum is simply dummy text.
https://www.youtube.com/watch?v=DUQi_R4SgWo
of the printing and typesetting
industry. Lorem Ipsum has been the
industry's standard dummy text ever
since the 1500s, when an unknown
printer took a galley of type and
scrambled it to make a type specimen
book. It has survived not only five
centuries, but also the leap into
electronic typesetting, remaining
essentially unchanged.
https://www.youtube.com/watch?v=A_6gNZCkajU&amp;feature=relmfu
It was popularised in the 1960s with
the release of Letraset sheets
containing Lorem Ipsum passages, and
more recently with desktop publishing
software like Aldus PageMaker
including versions of Lorem Ipsum."""

video_ids = get_video_ids(text)
print(video_ids)
# Output: ['DUQi_R4SgWo', 'A_6gNZCkajU']
로그인 후 복사

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

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