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)
War alles klar?
Danke für Ihr Feedback!
Abschnitt 2. Kapitel 1
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Suggested prompts:
Can you explain how the current code handles lists and what needs to be improved?
Can you show how to modify the code to add `<ul>` and `<ol>` tags for lists?
Can you provide an example of the expected output with the correct list tags?
Awesome!
Completion rate improved to 1.22
Markdown Parsing
Swipe um das Menü anzuzeigen
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)
War alles klar?
Danke für Ihr Feedback!
Abschnitt 2. Kapitel 1