我一直在使用具有Markdown支持的CMS开发Telegram机器人。支持的标签是
*bold text*
_italic text_
`inline fixed-width code`
```text
pre-formatted fixed-width code block
```
问题是当有一个开放的*
标记而没有结束*
标记时,僵尸程序API会中断并拒绝发送消息。
我对正则表达式并没有那么多,但有没有办法构建一个正则表达式,在构造消息时验证所有所述标签?或者是否有现成的降价验证器?
我尝试了python markdown
lib,这意味着要从中捕获一个异常,但是当标记被破坏时它不会中断,它只会保留不正确的标记。
答案 0 :(得分:0)
检查线条的开头和结尾是否为' *'尝试正则表达式
> ^\*.*\*$
答案 1 :(得分:0)
这种方法可能适合您的需求:
import re
teststring="*hello*?Q@*()@(UE) World?@(EI)@EN *"
results=re.findall("^[*].*[*]$",teststring)
if not len(results)==1:
raise Exception
它假定一行以*开头并以*结尾。 _和'案例将采用类似的方法。 因为'''案例包括换行符,所以使用DOTALL标志:
re.findall("^[']{3}.*[']{3}$",teststring, re.DOTALL)