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进阶教程之函数参数的多种传递方法
Aug 30 Python
跟老齐学Python之编写类之一创建实例
Oct 11 Python
探究Python中isalnum()方法的使用
May 18 Python
Python中atexit模块的基本使用示例
Jul 08 Python
python读取oracle函数返回值
Jul 18 Python
python selenium自动上传有赞单号的操作方法
Jul 05 Python
Python实现模拟登录网易邮箱的方法示例
Jul 05 Python
python脚本监控Tomcat服务器的方法
Jul 06 Python
详解用python自制微信机器人,定时发送天气预报
Mar 25 Python
python可视化篇之流式数据监控的实现
Aug 07 Python
pycharm中使用request和Pytest进行接口测试的方法
Jul 31 Python
如何基于Python pygame实现动画跑马灯
Nov 18 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设计模式 php实现访问者模式(Visitor)
2015/12/07 PHP
详解EventDispatcher事件分发组件
2016/12/25 PHP
一个js实现的所谓的滑动门
2007/05/23 Javascript
一款js和css代码压缩工具[附JAVA环境配置方法]
2010/04/16 Javascript
jquery DOM操作 基于命令改变页面
2010/05/06 Javascript
javascript 从if else 到 switch case 再到抽象
2010/07/17 Javascript
jquery教程限制文本框只能输入数字和小数点示例分享
2014/01/13 Javascript
JS点击链接后慢慢展开隐藏着图片的方法
2015/02/17 Javascript
JavaScript中获取HTML元素值的三种方法
2016/06/20 Javascript
vue-cli webpack 引入jquery的方法
2018/01/10 jQuery
Angular搜索场景中使用rxjs的操作符处理思路
2018/05/30 Javascript
Vue 路由切换时页面内容没有重新加载的解决方法
2018/09/01 Javascript
Vue源码探究之虚拟节点的实现
2019/04/17 Javascript
vue+elementUI实现简单日历功能
2020/09/24 Javascript
利用python代码写的12306订票代码
2015/12/20 Python
Python3解决棋盘覆盖问题的方法示例
2017/12/07 Python
使用python和Django完成博客数据库的迁移方法
2018/01/05 Python
python实现一行输入多个值和一行输出多个值的例子
2019/07/16 Python
windows下python虚拟环境virtualenv安装和使用详解
2019/07/16 Python
PyQt5多线程防卡死和多窗口用法的实现
2020/09/15 Python
Willer台湾:日本高速巴士/夜行巴士预约
2017/07/09 全球购物
Ashford台湾:以折扣价提供奢华的男女用表款
2019/12/04 全球购物
函数指针的定义是什么
2016/08/14 面试题
买房协议书
2014/04/11 职场文书
中国梦演讲稿3分钟
2014/08/19 职场文书
离婚协议书怎么写
2014/09/12 职场文书
落实八项规定专题民主生活会对照检查材料
2014/09/15 职场文书
教学改革问题查摆整改措施
2014/09/27 职场文书
2015年校长新年寄语
2014/12/08 职场文书
职工年度考核评语
2014/12/31 职场文书
文员岗位职责
2015/02/04 职场文书
好员工观后感
2015/06/17 职场文书
班主任培训研修日志
2015/11/13 职场文书
golang协程池模拟实现群发邮件功能
2021/05/02 Golang
Python基础之hashlib模块详解
2021/05/06 Python
在SQL Server中使用 Try Catch 处理异常的示例详解
2022/07/15 SQL Server