시작하기무료로 시작하기

태그를 꼭 닫아 주세요!

한편, 여러분은 다른 프로젝트도 진행하고 있어요. 회사에서 새로운 제품을 개발하려고 합니다. 이 제품은 개발자가 작성 중인 코드를 자동으로 검사하는 데 도움을 줄 거예요. 여러분은 열린 모든 HTML 태그가 올바르게 닫혀 있는지 확인하는 간단한 스크립트를 작성해야 합니다.

HTML 태그를 포함한 문자열 예시는 다음과 같아요:

<title>The Data Science Company</title>

여는 HTML 태그는 항상 문자열의 시작에 있고, <> 안에 나타나요. 닫는 태그도 <> 안에 있지만, 앞에 /가 붙습니다.

또한 캡처 그룹은 숫자로 참조할 수 있다는 점을 기억하세요. 예를 들어 \4처럼요.

세 개의 HTML 태그 문자열이 들어 있는 리스트 html_tagsre 모듈이 세션에 로드되어 있습니다. IPython Shell에서 print()를 사용해 데이터를 확인할 수 있어요.

이 연습은 강의의 일부입니다

Python에서의 정규 표현식

강의 보기

연습 안내

  • 닫힌 HTML 태그를 매치하도록 정규식을 완성하세요. 리스트 html_tags의 각 문자열에서 매치가 있는지 확인하고 결과를 match_tag에 할당하세요.
  • 매치가 발견되면, match_tag에 저장된 첫 번째 캡처 그룹을 출력하세요.
  • 매치가 없으면, HTML 태그 안의 텍스트만 매치하도록 정규식을 완성하고 이를 notmatch_tag에 할당하세요.
  • 정규식이 notmatch_tag에 저장한 첫 번째 캡처 그룹을 출력하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

for string in html_tags:
    # Complete the regex and find if it matches a closed HTML tags
    match_tag =  re.match(____"<____>.*?", ____)
 
    if match_tag:
        # If it matches print the first group capture
        print("Your tag {} is closed".format(match_tag.____(____))) 
    else:
        # If it doesn't match capture only the tag 
        notmatch_tag = re.match(____"<____>", ____)
        # Print the first group capture
        print("Close your {} tag!".format(notmatch_tag.____(____)))
코드 편집 및 실행