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将多份excel表格整理成一份表格
Jan 03 Python
python实现求特征选择的信息增益
Dec 18 Python
python实现五子棋小游戏
Mar 25 Python
学生信息管理系统Python面向对象版
Jan 30 Python
python2.7使用plotly绘制本地散点图和折线图
Apr 02 Python
简单了解python PEP的一些知识
Jul 13 Python
TensorFlow车牌识别完整版代码(含车牌数据集)
Aug 05 Python
详解PyTorch中Tensor的高阶操作
Aug 18 Python
Golang GBK转UTF-8的例子
Aug 26 Python
python安装第三方库如xlrd的方法
Oct 31 Python
selenium3.0+python之环境搭建的方法步骤
Feb 01 Python
Python超详细分步解析随机漫步
Mar 17 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
PHP 遍历文件实现代码
2011/05/04 PHP
PHP读取文件并可支持远程文件的代码分享
2012/10/03 PHP
解析php DOMElement 操作xml 文档的实现代码
2013/05/10 PHP
ThinkPHP3.1新特性之对页面压缩输出的支持
2014/06/19 PHP
PHP中的插件机制原理和实例
2014/07/08 PHP
php比较两个字符串长度的方法
2015/07/13 PHP
前端必学之PHP语法基础
2016/01/01 PHP
PHP抽象类与接口的区别详解
2019/03/21 PHP
JQuery的Alert消息框插件使用介绍
2010/10/09 Javascript
jQuery示例收集
2010/11/05 Javascript
jQuery获取Select选择的Text和Value(详细汇总)
2013/01/25 Javascript
js实现鼠标拖动图片并兼容IE/FF火狐/谷歌等主流浏览器
2013/06/06 Javascript
三种方式获取XMLHttpRequest对象
2014/04/21 Javascript
jQuery学习笔记之jQuery.extend(),jQuery.fn.extend()分析
2014/06/09 Javascript
jquery判断input值不为空的方法
2016/06/05 Javascript
基于vue实现多引擎搜索及关键字提示
2017/03/16 Javascript
webpack开发跨域问题解决办法
2017/08/03 Javascript
vue 开发企业微信整合案例分析
2019/12/02 Javascript
vue项目中使用vue-layer弹框插件的方法
2020/03/11 Javascript
微信小程序以7天为周期连续签到7天功能效果的示例代码
2020/08/20 Javascript
js实现简易ATM功能
2020/10/27 Javascript
JavaScript实现手风琴效果
2021/02/18 Javascript
[01:51]2014DOTA2西雅图邀请赛 MVP 外卡赛black场间采访
2014/07/09 DOTA
python中列表的切片与修改知识点总结
2019/07/23 Python
Python在Matplotlib图中显示中文字体的操作方法
2019/07/29 Python
基于python爬取链家二手房信息代码示例
2020/10/21 Python
Python中使用Selenium环境安装的方法步骤
2021/02/22 Python
bareMinerals官网:矿物质化妆品和护肤品
2018/02/04 全球购物
Charlotte Tilbury澳大利亚官网:英国美妆品牌
2018/10/05 全球购物
阿迪达斯香港官网:adidas香港
2019/11/09 全球购物
俄罗斯儿童和青少年服装、鞋子及配件的在线商店:Orby
2020/02/20 全球购物
运动会稿件300字
2014/02/14 职场文书
学雷锋志愿者活动总结
2014/06/27 职场文书
2014年医院个人工作总结
2014/12/09 职场文书
2015年办税服务厅工作总结
2015/07/23 职场文书
教师纪律作风整顿心得体会
2016/01/23 职场文书