태그를 꼭 닫아 주세요!
한편, 여러분은 다른 프로젝트도 진행하고 있어요. 회사에서 새로운 제품을 개발하려고 합니다. 이 제품은 개발자가 작성 중인 코드를 자동으로 검사하는 데 도움을 줄 거예요. 여러분은 열린 모든 HTML 태그가 올바르게 닫혀 있는지 확인하는 간단한 스크립트를 작성해야 합니다.
HTML 태그를 포함한 문자열 예시는 다음과 같아요:
<title>The Data Science Company</title>
여는 HTML 태그는 항상 문자열의 시작에 있고, <> 안에 나타나요. 닫는 태그도 <> 안에 있지만, 앞에 /가 붙습니다.
또한 캡처 그룹은 숫자로 참조할 수 있다는 점을 기억하세요. 예를 들어 \4처럼요.
세 개의 HTML 태그 문자열이 들어 있는 리스트 html_tags와 re 모듈이 세션에 로드되어 있습니다. 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.____(____)))