Markdown Parsing
12345678910111213141516171819202122232425262728293031docstring = """ **This** is a **bold** text. *This* is an *italic* text. *`This`* is a *`code`* snippet. List: - 123 - 123 Numbered List: 1. Item 1.; 2. Item 2 """ docstring = docstring.strip() import re def format_docstring(docstring): docstring = re.sub(r'\*\*(.*?)\*\*', r'<b>\1</b>', docstring) # Заміна '**' на <b> і </b> docstring = re.sub(r'\*(.*?)\*', r'<i>\1</i>', docstring) # Заміна '*' на <i> і </i> docstring = re.sub(r'`(.*?)`', r'<code>\1</code>', docstring) # Заміна '*`' на <code> і </code> # Парсинг списку маркдаун з нумерацією docstring = re.sub(r'^\d+\. (.*)$', r'<li>\1</li>', docstring, flags=re.M) # Парсинг списку через "-" docstring = re.sub(r'\n- (.*)', r'\n<li>\1</li>', docstring) # Парсинг відступів docstring = docstring.split("\n") docstring = "<br>\n".join(docstring) docstring = docstring.replace("</li><br>", "</li>") return docstring print(format_docstring(docstring) + "\n")
Note
До списків треба додавати теги
<ul> </ul>
(unordered list) або<ol> </ol>
(ordered list) для створення звичайного (ul
), та нумерованого (ol
) списків.
Reversed Parsing
12345678910111213141516171819202122232425262728docstring = """ <b>This</b> is a <b>bold</b> text. <i>This</i> is an <i>italic</i> text.<br> <i><code>This</code></i> is a <i><code>code</code></i> snippet.<br> <br> List:<br> <ol> <li>123</li> <li>123</li> </ol> <br> Numbered List:<br> <ul> <ul><li>Item 1.;</li> <li>Item 2</li> </ul> """ docstring = docstring.replace("<br>", "") docstring = docstring.replace("<code>", "`").replace("</code>", "`") docstring = docstring.replace("<b>", "**").replace("</b>", "**") docstring = docstring.replace("<i>", "*").replace("</i>", "*") docstring = docstring.replace("<li>", "- ").replace("</li>", "") docstring = docstring.replace("<ul>\n", "").replace("</ul>\n", "") docstring = docstring.replace("<ol>\n", "").replace("</ol>\n", "") docstring = docstring.replace("<ul>", "").replace("</ul>", "") docstring = docstring.replace("<ol>", "").replace("</ol>", "") print(docstring)
Alt var klart?
Takk for tilbakemeldingene dine!
Seksjon 2. Kapittel 1
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Suggested prompts:
Can you explain how to add the `<ul>` and `<ol>` tags in the first code sample?
What changes are needed to correctly parse both unordered and ordered lists?
Can you show an example of the expected output after fixing the list parsing?
Awesome!
Completion rate improved to 1.19
Markdown Parsing
Sveip for å vise menyen
12345678910111213141516171819202122232425262728293031docstring = """ **This** is a **bold** text. *This* is an *italic* text. *`This`* is a *`code`* snippet. List: - 123 - 123 Numbered List: 1. Item 1.; 2. Item 2 """ docstring = docstring.strip() import re def format_docstring(docstring): docstring = re.sub(r'\*\*(.*?)\*\*', r'<b>\1</b>', docstring) # Заміна '**' на <b> і </b> docstring = re.sub(r'\*(.*?)\*', r'<i>\1</i>', docstring) # Заміна '*' на <i> і </i> docstring = re.sub(r'`(.*?)`', r'<code>\1</code>', docstring) # Заміна '*`' на <code> і </code> # Парсинг списку маркдаун з нумерацією docstring = re.sub(r'^\d+\. (.*)$', r'<li>\1</li>', docstring, flags=re.M) # Парсинг списку через "-" docstring = re.sub(r'\n- (.*)', r'\n<li>\1</li>', docstring) # Парсинг відступів docstring = docstring.split("\n") docstring = "<br>\n".join(docstring) docstring = docstring.replace("</li><br>", "</li>") return docstring print(format_docstring(docstring) + "\n")
Note
До списків треба додавати теги
<ul> </ul>
(unordered list) або<ol> </ol>
(ordered list) для створення звичайного (ul
), та нумерованого (ol
) списків.
Reversed Parsing
12345678910111213141516171819202122232425262728docstring = """ <b>This</b> is a <b>bold</b> text. <i>This</i> is an <i>italic</i> text.<br> <i><code>This</code></i> is a <i><code>code</code></i> snippet.<br> <br> List:<br> <ol> <li>123</li> <li>123</li> </ol> <br> Numbered List:<br> <ul> <ul><li>Item 1.;</li> <li>Item 2</li> </ul> """ docstring = docstring.replace("<br>", "") docstring = docstring.replace("<code>", "`").replace("</code>", "`") docstring = docstring.replace("<b>", "**").replace("</b>", "**") docstring = docstring.replace("<i>", "*").replace("</i>", "*") docstring = docstring.replace("<li>", "- ").replace("</li>", "") docstring = docstring.replace("<ul>\n", "").replace("</ul>\n", "") docstring = docstring.replace("<ol>\n", "").replace("</ol>\n", "") docstring = docstring.replace("<ul>", "").replace("</ul>", "") docstring = docstring.replace("<ol>", "").replace("</ol>", "") print(docstring)
Alt var klart?
Takk for tilbakemeldingene dine!
Seksjon 2. Kapittel 1