Tag Content Extractor ⬀
In a tag-based language like XML or HTML, contents are enclosed between a start
tag and an end tag like <tag>contents</tag>. Note that the corresponding end
tag starts with a /.
Given a string of text in a tag-based language, parse this text and retrieve the contents enclosed within sequences of well-organized tags meeting the following criterion:
- The name of the start and end tags must be same. The HTML code
<h1>Hello World</h2>is not valid, because the text starts with anh1tag and ends with a non-matchingh2tag. - Tags can be nested, but content between nested tags is considered not valid. For example, in
<h1><a>contents</a>invalid</h1>,contentsis valid butinvalidis not valid. - Tags can consist of any printable characters.
- The first line of input contains a single integer,
N(the number of lines). - The
Nsubsequent lines each contain a line of text.
1 ≤ N ≤ 100- Each line contains a maximum of
10⁴printable characters. - The total number of characters in all test cases will not exceed
10⁶.
- For each line, print the content enclosed within valid tags.
- If a line contains multiple instances of valid content, print out each instance of valid content on a new line; if no valid content is found, print None.
4
<h1>Nayeem loves counseling</h1>
<h1><h1>Sanjay has no watch</h1></h1><par>So wait for a while</par>
<Amee>safat codes like a ninja</amee>
<SA premium>Imtiaz has a secret crush</SA premium>
Nayeem loves counseling
Sanjay has no watch
So wait for a while
None
Imtiaz has a secret crush