टैग बंद कीजिए, कृपया!
इसी बीच, आप अपने दूसरे प्रोजेक्ट्स में से एक पर काम कर रहे हैं। कंपनी एक नया प्रोडक्ट बनाने जा रही है। यह डेवलपर्स को उनके लिखे जा रहे कोड को ऑटोमेटिकली चेक करने में मदद करेगा। आपको एक छोटा-सा स्क्रिप्ट लिखना है जो यह जाँचे कि हर ओपन HTML टैग का सही क्लोज़र मौजूद है.
आपके पास HTML टैग्स वाली एक स्ट्रिंग का उदाहरण है:
<title>The Data Science Company</title>
आपने सीखा कि ओपनिंग HTML टैग हमेशा स्ट्रिंग की शुरुआत में होता है। यह <> के अंदर आता है। क्लोज़िंग टैग भी <> के अंदर आता है, लेकिन उसके आगे / लगा होता है.
आपको यह भी याद है कि कैप्चरिंग ग्रुप्स को नंबर से रेफ़र किया जा सकता है, जैसे \4.
सूची html_tags, जिसमें HTML टैग्स वाली तीन स्ट्रिंग्स हैं, और re मॉड्यूल आपकी सेशन में लोड हैं। आप IPython Shell में डेटा देखने के लिए print() का उपयोग कर सकते हैं.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Regular Expressions
अभ्यास निर्देश
- regex को पूरा करें ताकि क्लोज़्ड HTML टैग्स मैच हों। सूची
html_tagsकी हर स्ट्रिंग में देखें कि मैच है या नहीं। नतीजे कोmatch_tagमें असाइन करें. - अगर मैच मिलता है, तो
match_tagमें सेव पहले कैप्चर किए गए ग्रुप को प्रिंट करें. - अगर मैच नहीं मिलता, तो regex को पूरा करें ताकि केवल HTML टैग के अंदर का टेक्स्ट मैच हो। इसे
notmatch_tagको असाइन करें. - regex द्वारा कैप्चर किए गए पहले ग्रुप को प्रिंट करें और उसे
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.____(____)))