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中cPickle用法例子分享
Jan 03 Python
利用python实现命令行有道词典的方法示例
Jan 31 Python
Python数字图像处理之霍夫线变换实现详解
Jan 12 Python
对python添加模块路径的三种方法总结
Oct 16 Python
详解python中@的用法
Mar 27 Python
python实现从本地摄像头和网络摄像头截取图片功能
Jul 11 Python
django 自定义filter 判断if var in list的例子
Aug 20 Python
用python爬取历史天气数据的方法示例
Dec 30 Python
python词云库wordCloud使用方法详解(解决中文乱码)
Feb 17 Python
Windows系统下pycharm中的pip换源
Feb 23 Python
python脚本使用阿里云slb对恶意攻击进行封堵的实现
Feb 04 Python
python中的random模块和相关函数详解
Apr 22 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中突破基于HTTP_REFERER的防盗链措施(stream_context_create)
2011/03/29 PHP
php 带逗号千位符数字的处理方法
2012/01/10 PHP
Javascript(AJAX)解析XML的代码(兼容FIREFOX/IE)
2010/07/11 Javascript
jquery之empty()与remove()区别说明
2010/09/10 Javascript
js控制iframe的高度/宽度让其自适应内容
2014/04/09 Javascript
tuzhu_req.js 实现仿百度图片首页效果
2015/08/11 Javascript
jQuery实现选项卡切换效果简单演示
2015/12/09 Javascript
AngularJs 国际化(I18n/L10n)详解
2016/09/01 Javascript
JS中判断null的方法分析
2016/11/21 Javascript
详解windows下vue-cli及webpack 构建网站(二)导入bootstrap样式
2017/06/17 Javascript
基于Require.js使用方法(总结)
2017/10/26 Javascript
原生JS实现DOM加载完成马上执行JS代码的方法
2018/09/07 Javascript
Vue 动态路由的实现及 Springsecurity 按钮级别的权限控制
2019/09/05 Javascript
微信小程序批量监听输入框对按钮样式进行控制的实现代码
2019/10/12 Javascript
vue学习笔记之Vue中css动画原理简单示例
2020/02/29 Javascript
如何实现js拖拽效果及原理解析
2020/05/08 Javascript
[01:53]2016完美“圣”典风云人物:Maybe专访
2016/12/05 DOTA
python监控进程脚本
2018/04/12 Python
python实现图片文件批量重命名
2020/03/23 Python
Python线程下使用锁的技巧分享
2018/09/13 Python
python中的不可变数据类型与可变数据类型详解
2018/09/16 Python
使用Template格式化Python字符串的方法
2019/01/22 Python
pybind11在Windows下的使用教程
2019/07/04 Python
关于Python中定制类的比较运算实例
2019/12/19 Python
Python pip配置国内源的方法
2020/02/14 Python
Python调用shell命令常用方法(4种)
2020/05/11 Python
基于Keras的格式化输出Loss实现方式
2020/06/17 Python
详解python 内存优化
2020/08/17 Python
德国消费电子产品购物网站:Guter Kauf
2020/09/15 全球购物
一道输出判断型Java面试题
2014/10/01 面试题
应届毕业生通用的自荐书范文
2014/02/07 职场文书
《美丽的彩虹》教学反思
2014/02/25 职场文书
关于青春的演讲稿
2014/05/05 职场文书
简爱读书笔记
2015/06/26 职场文书
2016年安康杯竞赛活动总结
2016/04/05 职场文书
oracle数据库去除重复数据
2022/05/20 Oracle