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)
Everything was clear?
Thanks for your feedback!
SectionΒ 2. ChapterΒ 1
Ask AI
Ask AI
Ask anything or try one of the suggested questions to begin our chat
Awesome!
Completion rate improved to 1.22
Markdown Parsing
Swipe to show menu
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)
Everything was clear?
Thanks for your feedback!
SectionΒ 2. ChapterΒ 1