WEB开发网
开发学院软件开发Python 可爱的 Python: 使用 SimpleParse 模块进行解析 阅读

可爱的 Python: 使用 SimpleParse 模块进行解析

 2008-11-13 13:16:18 来源:WEB开发网   
核心提示: 智能 ASCII 的 Python regexs# [module] namesre_mods =r""'([(s'/">]|^)[(.*?)]([<s.),:;'"?!/-])"""

智能 ASCII 的 Python regexs

     # [module] names
    
re_mods = 
    
     r""'([(s'/">]|^)[(.*?)]([<s.),:;'"?!/-])"""
  
     # *strongly emphasize* words
    
re_strong =
    
     r""'([(s'/"]|^)*(.*?)*([s.),:;'"?!/-])"""
  
     # -emphasize- words
    
re_emph = 
    
     r""'([(s'/"]|^)-(.*?)-([s.),:;'"?!/])"""
  
     # _Book Title_ citations
    
re_title = 
    
     r""'([(s'/"]|^)_(.*?)_([s.),:;'"?!/-])"""
  
     # 'Function()" names
    
re_funcs = 
    
     r""'([(s/"]|^)'(.*?)'([s.),:;"?!/-])"""
    

如果您发现或发明了该语言的某种经过微小更新的变体,将它和 EBNF 语法一起使用要比和那些正则表达式一起使用简单得多。此外,通常使用 mxTextTools 执行模式操作甚至更快些。

生成和使用标记列表

对于样本程序,我们将实际语法放置在一个单独的文件中。对于大多数用途而言,这种组织比较好,便于使用。通常,更改语法和更改应用程序逻辑是不同种类的任务;这些文件反映了这一点。但是我们对语法所做的全部处理就是将它作为一个字符串传递给 SimpleParse 函数,因此我们大体上可以将它包括到主应用程序中(或者甚至以某种方式动态生成它)。

上一页  1 2 3 4 5 6 7 8  下一页

Tags:可爱 Python 使用

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接