加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 标记复杂输入

发布时间:2020-12-20 13:24:29 所属栏目:Python 来源:网络整理
导读:我试图在 Python中标记以下输入: text = 'This @example@ is "neither":/defn/neither complete[1] *nor* trite,*though _simple_*.' 我想在避免使用正则表达式的同时生成类似下面的内容: tokens = [ ('text','This '),('enter','code'),('text',"example"
我试图在 Python中标记以下输入:

text = 'This @example@ is "neither":/defn/neither complete[1] *nor* trite,*though _simple_*.'

我想在避免使用正则表达式的同时生成类似下面的内容:

tokens = [
        ('text','This '),('enter','code'),('text',"example")
        ('exit',None),' is '),'a'),"neither"),('href',"/defn/neither"),('exit',' complete'),'footnote'),('id',1),' '),'strong'),'nor'),' trite,'),'though '),'em'),'simple'),'.')
    ]

假装上面是由发电机产生的.我的current implementation工作,虽然代码有点可怕,不容易扩展到支持链接.

任何帮助将不胜感激.

更新以将所需语法从复杂的嵌套列表结构更改为简单的元组流.为我们人类缩进.在链接文本中格式化是可以的.这是a simple parser生成我正在寻找的lexing结果,但仍然不处理链接或脚注.

解决方法

那么,here’s a more complete parser具有足够的可扩展性来做我将来可能需要的任何事情.它只花了三个小时.它并不是非常快速,但通常我写的解析器类的输出无论如何都是高度缓存的.即使使用了这个标记器和解析器,我的完整引擎仍然在<默认python-textile渲染器的SLoC的75%,同时保持更快.所有没有正则表达式. 脚注解析仍然存在,但与链接解析相比,这是次要的.输出(截至本文)是:

tokens = [
    ('text','example'),'neither'),('attr','/defn/neither')),' complete[1] '),'.')
]

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读