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 sort、sorted高级排序技巧
Nov 21 Python
python根据日期返回星期几的方法
Jul 06 Python
python爬虫实战之爬取京东商城实例教程
Apr 24 Python
对Python 数组的切片操作详解
Jul 02 Python
Python中pip更新和三方插件安装说明
Jul 08 Python
python 通过类中一个方法获取另一个方法变量的实例
Jan 22 Python
Python实现图片批量加入水印代码实例
Nov 30 Python
使用pandas 将DataFrame转化成dict
Dec 10 Python
Python基于模块Paramiko实现SSHv2协议
Apr 28 Python
python如何查看安装了的模块
Jun 23 Python
使用Tensorflow-GPU禁用GPU设置(CPU与GPU速度对比)
Jun 30 Python
Python爬虫之Selenium实现关闭浏览器
Dec 04 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
linux环境apache多端口配置虚拟主机的方法深入介绍
2013/06/09 PHP
使用 PHPStorm 开发 Laravel
2015/03/24 PHP
关于Laravel Route重定向的一个注意点
2017/01/16 PHP
Laravel5.1 框架路由基础详解
2020/01/04 PHP
javascript中的作用域和上下文使用简要概述
2013/12/05 Javascript
js取得html iframe中的元素和变量值
2014/06/30 Javascript
javascript复制粘贴与clipboardData的使用
2014/10/16 Javascript
jQuery实现的网页左侧在线客服效果代码
2015/10/23 Javascript
js判断文本框输入的内容是否为数字
2015/12/23 Javascript
js实现楼层效果的简单实例
2016/07/15 Javascript
微信小程序 框架详解及实例应用
2016/09/26 Javascript
vue.js树形组件之删除双击增加分支实例代码
2017/02/28 Javascript
详解TypeScript+Vue 插件 vue-class-component的使用总结
2019/02/18 Javascript
jquery+css实现Tab栏切换的代码实例
2019/05/14 jQuery
vue 中 命名视图的用法实例详解
2019/08/14 Javascript
Jquery $.map使用方法实例详解
2020/09/01 jQuery
JavaScript缓动动画函数的封装方法
2020/11/25 Javascript
Python的包管理器pip更换软件源的方法详解
2016/06/20 Python
Python开发SQLite3数据库相关操作详解【连接,查询,插入,更新,删除,关闭等】
2017/07/27 Python
Python网络编程详解
2017/10/31 Python
python3实现钉钉消息推送的方法示例
2019/03/14 Python
VPS CENTOS 上配置python,mysql,nginx,uwsgi,django的方法详解
2019/07/01 Python
selenium2.0中常用的python函数汇总
2019/08/05 Python
基于python实现的百度新歌榜、热歌榜下载器(附代码)
2019/08/05 Python
Django通用类视图实现忘记密码重置密码功能示例
2019/12/17 Python
使用python无账号无限制获取企查查信息的实例代码
2020/04/17 Python
Python读取Excel一列并计算所有对象出现次数的方法
2020/09/04 Python
CSS3属性box-shadow使用详细教程
2012/01/21 HTML / CSS
曼联官方网上商店:Manchester United Direct
2017/07/28 全球购物
十一个高级MySql面试题
2014/10/06 面试题
亲子阅读的活动方案
2014/08/15 职场文书
网上祭英烈活动总结
2015/02/04 职场文书
2015年师德师风自我评价范文
2015/03/05 职场文书
2015年社会实践个人总结
2015/03/06 职场文书
初三数学教学反思
2016/02/17 职场文书
【2·13】一图读懂中国无线电发展
2022/02/18 无线电