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字符串过滤性能比较5种方法
Jun 22 Python
numpy找出array中的最大值,最小值实例
Apr 03 Python
django 外键model的互相读取方法
Dec 15 Python
python自定义函数实现一个数的三次方计算方法
Jan 20 Python
Python3网络爬虫中的requests高级用法详解
Jun 18 Python
手写一个python迭代器过程详解
Aug 27 Python
python聚类算法解决方案(rest接口/mpp数据库/json数据/下载图片及数据)
Aug 28 Python
Python使用scipy模块实现一维卷积运算示例
Sep 05 Python
简单了解python元组tuple相关原理
Dec 02 Python
如何把外网python虚拟环境迁移到内网
May 18 Python
python如何求100以内的素数
May 27 Python
FP-growth算法发现频繁项集——发现频繁项集
Jun 24 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
用libtemplate实现静态网页生成
2006/10/09 PHP
php中关于换行的实例写法
2019/09/26 PHP
Yii框架where查询用法实例分析
2019/10/22 PHP
取得父标签
2006/11/14 Javascript
一个cssQuery对象 javascript脚本实现代码
2009/07/21 Javascript
Easy.Ajax 部分源代码 支持文件上传功能, 兼容所有主流浏览器
2011/02/24 Javascript
jQuery中使用data()方法读取HTML5自定义属性data-*实例
2014/04/11 Javascript
javascript模拟订火车票和退票示例
2014/04/24 Javascript
nodejs 整合kindEditor实现图片上传
2015/02/03 NodeJs
基于JavaScript实现弹出框效果
2016/02/19 Javascript
深入理解jQuery 事件处理
2016/06/14 Javascript
input 禁止输入特殊字符的四种实现方式
2016/08/24 Javascript
基于HTML5+JS实现本地图片裁剪并上传功能
2017/03/24 Javascript
OkHttp踩坑随笔为何 response.body().string() 只能调用一次
2018/01/08 Javascript
Vue 使用中的小技巧
2018/04/26 Javascript
jQuery AJAX 方法success()后台传来的4种数据详解
2018/08/08 jQuery
react 不用插件实现数字滚动的效果示例
2020/04/14 Javascript
vue实现列表拖拽排序的功能
2020/11/02 Javascript
python通过pil为png图片填充上背景颜色的方法
2015/03/17 Python
用Python实现服务器中只重载被修改的进程的方法
2015/04/30 Python
python协程用法实例分析
2015/06/04 Python
Python实现运行其他程序的四种方式实例分析
2017/08/17 Python
Python编写Windows Service服务程序
2018/01/04 Python
Python 12306抢火车票脚本
2018/02/07 Python
Python+PyQT5的子线程更新UI界面的实例
2019/06/14 Python
Python pandas.DataFrame 找出有空值的行
2019/09/09 Python
python构造IP报文实例
2020/05/05 Python
利用Python实现Excel的文件间的数据匹配功能
2020/06/16 Python
后勤部长岗位职责
2013/12/14 职场文书
饲料采购员岗位职责
2013/12/19 职场文书
村居抓节水倡议书
2014/05/19 职场文书
高中学生自我评价范文
2014/09/23 职场文书
纪委书记群众路线整改措施思想汇报
2014/10/09 职场文书
初中班主任心得体会
2016/01/07 职场文书
浅谈Redis的几个过期策略
2021/05/27 Redis
防止web项目中的SQL注入
2021/12/06 MySQL