Python 中开发pattern的string模板(template) 实例详解

 更新时间:2017年04月01日 09:37:28   投稿:lqh  
这篇文章主要介绍了Python 中开发pattern的string模板(template) 实例详解的相关资料,需要的朋友可以参考下

定制pattern的string模板(template) 详解

string.Template的pattern是一个正则表达式, 可以通过覆盖pattern属性, 定义新的正则表达式.

如: 使用新的定界符"{{", 把{{var}}作为变量语法.

代码:

# -*- coding: utf-8 -*- 
 
''''' 
Created on 2014.6.5 
 
@author: Administrator 
 
@edition : python 3.3.0, eclipse pydev 
''' 
 
import string 
 
t = string.Template('$var') 
print(t.pattern.pattern) 
 
class MyTemplate(string.Template): 
  delimiter = '{{' 
  pattern = r''''' 
  \{\{(?: 
   (?P<escaped>\{\{) |  # Escape sequence of two delimiters 
   (?P<named>[_a-z][_a-z0-9]*)\}\}   |  # delimiter and a Python identifier 
   {(?P<braced>[_a-z][_a-z0-9]*)}\}\}  |  # delimiter and a braced identifier 
   (?P<invalid>)       # Other ill-formed delimiter exprs 
  ) 
  ''' 
   
t2 = MyTemplate(''''' 
{{{{ 
{{var}} 
''') 
 
print('MATCHES: ', t2.pattern.findall(t2.template)) 
print('SUBSTITUTED: ', t2.safe_substitute(var='replacement')) 

输出:

  \$(?: 
   (?P<escaped>\$) |  # Escape sequence of two delimiters 
   (?P<named>[_a-z][_a-z0-9]*)   |  # delimiter and a Python identifier 
   {(?P<braced>[_a-z][_a-z0-9]*)}  |  # delimiter and a braced identifier 
   (?P<invalid>)       # Other ill-formed delimiter exprs 
  ) 
   
MATCHES: [('{{', '', '', ''), ('', 'var', '', '')] 
SUBSTITUTED:  
{{ 
replacement 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • Python可变和不可变、类的私有属性实例分析

    Python可变和不可变、类的私有属性实例分析

    这篇文章主要介绍了Python可变和不可变、类的私有属性,结合实例形式分析了Python值可变与不可变的情况及内存地址变化,类的私有属性定义、访问相关操作技巧,需要的朋友可以参考下
    2019-05-05
  • python 接收处理外带的参数方法

    python 接收处理外带的参数方法

    今天小编就为大家分享一篇python 接收处理外带的参数方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • Python构建网页爬虫原理分析

    Python构建网页爬虫原理分析

    这篇文章主要给大家讲解了构建网页爬虫的技术原理以及实现的逻辑关系,有兴趣的朋友阅读下吧。
    2017-12-12
  • 150行python代码实现贪吃蛇游戏

    150行python代码实现贪吃蛇游戏

    这篇文章主要为大家详细介绍了150行python代码实现贪吃蛇游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04
  • Python绘图库之pyqtgraph的用法详解

    Python绘图库之pyqtgraph的用法详解

    PyQtGraph建立在Qt QGraphicsScene的原生库,可提供更好更高性能绘图能力,特别是对于实时数据,可以提供交互性和使用Qt图形小部件轻松自定义绘图的能力。本文就来解释一下pyqtgraph的用法,需要的可以收藏一下
    2022-12-12
  • python数据分析必会的Pandas技巧汇总

    python数据分析必会的Pandas技巧汇总

    用Python做数据分析光是掌握numpy和matplotlib可不够,numpy虽然能够帮我们处理处理数值型数据,但很多时候,还有字符串,还有时间序列等,比如:我们通过爬虫获取到了存储在数据库中的数据,一些Pandas必会的用法,让你的数据分析水平更上一层楼
    2021-08-08
  • Python内置函数的用法实例教程

    Python内置函数的用法实例教程

    这篇文章主要介绍了Python内置函数的用法,包括求绝对值的abs()函数及数值类型转换函数等,需要的朋友可以参考下
    2014-09-09
  • python函数调用,循环,列表复制实例

    python函数调用,循环,列表复制实例

    这篇文章主要介绍了python函数调用,循环,列表复制实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • python人物视频背景替换实现虚拟空间穿梭

    python人物视频背景替换实现虚拟空间穿梭

    这篇文章主要为大家介绍了python实现人物视频背景替换示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • Selenium+Python自动化脚本环境搭建的全过程

    Selenium+Python自动化脚本环境搭建的全过程

    说到自动化测试,就不得不提大名鼎鼎的Selenium,Selenium 是如今最常用的自动化测试工具之一,支持快速开发自动化测试框架,且支持在多种浏览器上执行测试,下面这篇文章主要给大家介绍了关于Selenium+Python自动化脚本环境搭建的相关资料,需要的朋友可以参考下
    2021-09-09

最新评论