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中函数的用法实例教程
Sep 08 Python
使用Python的内建模块collections的教程
Apr 28 Python
python爬虫爬取网页表格数据
Mar 07 Python
对tf.reduce_sum tensorflow维度上的操作详解
Jul 26 Python
python字符串替换第一个字符串的方法
Jun 26 Python
Python实用工具FuckIt.py介绍
Jul 02 Python
使用python脚本自动创建pip.ini配置文件代码实例
Sep 20 Python
python字符串下标与切片及使用方法
Feb 13 Python
python 解决Fatal error in launcher:错误问题
May 21 Python
python正则表达式 匹配反斜杠的操作方法
Aug 07 Python
如何利用Python实现n*n螺旋矩阵
Jan 18 Python
Python利用FlashText算法实现替换字符串
Mar 31 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颜色转换函数hex-rgb(将十六进制格式转成十进制格式)
2013/09/23 PHP
PHP往XML中添加节点的方法
2015/03/12 PHP
PHP封装CURL扩展类实例
2015/07/28 PHP
Smarty简单生成表单元素的方法示例
2016/05/23 PHP
PHP判断用户是否已经登录(跳转到不同页面或者执行不同动作)
2016/09/22 PHP
PHP面向对象五大原则之开放-封闭原则(OCP)详解
2018/04/04 PHP
laravel框架学习笔记之组件化开发实现方法
2020/02/01 PHP
推荐:极酷右键菜单
2006/11/29 Javascript
JavaScript 撑出页面文字换行
2009/06/15 Javascript
为JavaScript添加重载函数的辅助方法
2010/07/04 Javascript
基于SVG的web页面图形绘制API介绍及编程演示
2013/06/28 Javascript
js复制网页内容并兼容各主流浏览器的代码
2013/12/17 Javascript
JavaScript如何实现在文本框(密码框)输入提示语
2015/12/25 Javascript
深入理解Webpack 中路径的配置
2017/06/17 Javascript
详解vue服务端渲染(SSR)初探
2017/06/19 Javascript
浅谈vue-cli加载不到dev-server.js的解决办法
2017/11/24 Javascript
JavaScript实现修改伪类样式
2017/11/27 Javascript
js动态获取时间的方法分析
2019/08/02 Javascript
微信小程序实现页面浮动导航
2020/01/08 Javascript
webpack中的模式(mode)使用详解
2020/02/20 Javascript
[42:52]Optic vs Serenity 2018国际邀请赛淘汰赛BO3 第二场 8.22
2018/08/23 DOTA
python中Apriori算法实现讲解
2017/12/10 Python
selenium python 实现基本自动化测试的示例代码
2019/02/25 Python
python:HDF和CSV存储优劣对比分析
2020/06/08 Python
Python爬取网站图片并保存的实现示例
2021/02/26 Python
通往英国高街的商店橱窗:Down Your High Street
2020/07/19 全球购物
C#如何进行LDAP用户校验
2012/11/21 面试题
网络专业学生个人的自我评价
2013/12/16 职场文书
公司面试感谢信
2014/02/01 职场文书
建议书的格式
2014/05/12 职场文书
建筑工地质量标语
2014/06/12 职场文书
群众路线教育实践活动整改落实情况汇报
2014/10/28 职场文书
初中生毕业评语
2014/12/29 职场文书
工商局个人工作总结
2015/03/03 职场文书
整理Python中常用的conda命令操作
2021/06/15 Python
Java结构型设计模式之组合模式详解
2022/09/23 Java/Android