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


Posted in Python onApril 01, 2017

定制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设置socket代理的方法
Jan 14 Python
python将字符串转换成数组的方法
Apr 29 Python
用Python编写web API的教程
Apr 30 Python
Python连接Redis的基本配置方法
Sep 13 Python
Python标准库使用OrderedDict类的实例讲解
Feb 14 Python
浅谈python中get pass用法
Mar 19 Python
详解python列表生成式和列表生成式器区别
Mar 27 Python
Python Pandas 箱线图的实现
Jul 23 Python
解决Python对齐文本字符串问题
Aug 28 Python
TensorFlow tf.nn.conv2d实现卷积的方式
Jan 03 Python
如何使用python记录室友的抖音在线时间
Jun 29 Python
在django中查询获取数据,get, filter,all(),values()操作
Aug 09 Python
Python新手们容易犯的几个错误总结
Apr 01 #Python
深入解答关于Python的11道基本面试题
Apr 01 #Python
教大家玩转Python字符串处理的七种技巧
Mar 31 #Python
Python中你应该知道的一些内置函数
Mar 31 #Python
python 性能优化方法小结
Mar 31 #Python
Python+Selenium自动化实现分页(pagination)处理
Mar 31 #Python
pygame加载中文名mp3文件出现error
Mar 31 #Python
You might like
深入Memcache的Session数据的多服务器共享详解
2013/06/13 PHP
PHP mysql与mysqli事务使用说明 分享
2013/08/17 PHP
php上传文件中文文件名乱码的解决方法
2013/11/01 PHP
Laravel5中contracts详解
2015/03/02 PHP
php遍历目录方法小结
2015/03/10 PHP
多种方法实现load加载完成后把图片一次性显示出来
2014/02/19 Javascript
Javascript 读取操作Sql中的Xml字段
2014/10/09 Javascript
AngularJS HTML编译器介绍
2014/12/06 Javascript
jquery调整表格行tr上下顺序实例讲解
2016/01/09 Javascript
JS延时器提示框的应用实例代码解析
2016/04/27 Javascript
Bootstrap轮播图的使用和理解4
2016/12/14 Javascript
Angular4.0中引入laydate.js日期插件的方法教程
2017/12/25 Javascript
JavaScript的变量声明与声明提前用法实例分析
2019/11/26 Javascript
基于JavaScript或jQuery实现网站夜间/高亮模式
2020/05/30 jQuery
在vue-cli3中使用axios获取本地json操作
2020/07/30 Javascript
[02:47]3.19DOTA2发布会 国服成长历程回顾
2014/03/25 DOTA
简单介绍Python2.x版本中的cmp()方法的使用
2015/05/20 Python
Python读写文件方法总结
2015/06/09 Python
Python递归函数定义与用法示例
2017/06/02 Python
python中的计时器timeit的使用方法
2017/10/20 Python
全面分析Python的优点和缺点
2018/02/07 Python
Python中单例模式总结
2018/02/20 Python
使用Python计算玩彩票赢钱概率
2019/06/26 Python
对django layer弹窗组件的使用详解
2019/08/31 Python
Europcar葡萄牙:葡萄牙汽车和货车租赁
2017/10/13 全球购物
英国最好的包装供应商:Priory Direct
2019/12/17 全球购物
衰败城市英国官网:Urban Decay英国
2020/04/29 全球购物
预备党员2014全国两会学习心得体会
2014/03/10 职场文书
中学生教师节演讲稿
2014/09/03 职场文书
化学专业大学生职业生涯规划范文
2014/09/13 职场文书
学校运动会广播稿范文
2014/10/02 职场文书
精神病医院见习报告
2014/11/03 职场文书
租车协议书
2015/01/27 职场文书
2019年特色火锅店的创业计划书模板
2019/08/28 职场文书
python中super()函数的理解与基本使用
2021/08/30 Python
vue组件冲突之引用另一个组件出现组件不显示的问题
2022/04/13 Vue.js