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实现的解析crontab配置文件代码
Jun 30 Python
讲解Python的Scrapy爬虫框架使用代理进行采集的方法
Feb 18 Python
Python在线运行代码助手
Jul 15 Python
python入门教程之识别验证码
Mar 04 Python
python中日志logging模块的性能及多进程详解
Jul 18 Python
Python+OpenCV人脸检测原理及示例详解
Oct 19 Python
Python3生成手写体数字方法
Jan 30 Python
小白如何入门Python? 制作一个网站为例
Mar 06 Python
对Python Class之间函数的调用关系详解
Jan 23 Python
Python 根据数据模板创建shapefile的实现
Nov 26 Python
python分别打包出32位和64位应用程序
Feb 18 Python
Python正则表达式如何匹配中文
May 27 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 Warning: PHP Startup: Unable to load dynamic library \ D:/php5/ext/php_mysqli.dll\
2012/06/17 PHP
解析php中var_dump,var_export,print_r三个函数的区别
2013/06/21 PHP
PHP中mb_convert_encoding与iconv函数的深入解析
2013/06/21 PHP
php中mail函数发送邮件失败的解决方法
2014/12/24 PHP
php语言的7种基本的排序方法
2020/12/28 PHP
基于PHP实现短信验证码发送次数限制
2020/07/11 PHP
Bootstrap中点击按钮后变灰并显示加载中实例代码
2016/09/23 Javascript
js HTML5上传示例代码完整版
2016/10/10 Javascript
基于vue实现分页/翻页组件paginator示例
2017/03/09 Javascript
jQuery插件HighCharts绘制2D圆环图效果示例【附demo源码下载】
2017/03/09 Javascript
JavaScript实现各种排序的代码详解
2017/08/28 Javascript
微信小程序实现图片上传功能实例(前端+PHP后端)
2018/01/10 Javascript
对node.js中render和send的用法详解
2018/05/14 Javascript
Node 升级到最新稳定版的方法分享
2018/05/17 Javascript
详解微信小程序-canvas绘制文字实现自动换行
2019/04/26 Javascript
详解webpack-dev-middleware 源码解读
2020/03/23 Javascript
[49:21]2018DOTA2亚洲邀请赛3月30日 小组赛B组 Effect VS iG
2018/03/31 DOTA
python根据路径导入模块的方法
2014/09/30 Python
python 读写txt文件 json文件的实现方法
2016/10/22 Python
python日志记录模块实例及改进
2017/02/12 Python
关于不懂Chromedriver如何配置环境变量问题解决方法
2019/06/12 Python
django 连接数据库出现1045错误的解决方式
2020/05/14 Python
python如何写个俄罗斯方块
2020/11/06 Python
HTML5之tabindex属性全面解析
2016/07/07 HTML / CSS
印尼值得信赖的在线交易网站:Bukalapak
2019/03/11 全球购物
乌克兰电子产品和家用电器购物网站:TOUCH
2019/08/09 全球购物
心得体会范文
2014/01/04 职场文书
导购员的岗位职责
2014/02/08 职场文书
2014年公务员退休工资改革方案
2014/10/01 职场文书
初中生旷课检讨书范文
2014/10/06 职场文书
2014年村计划生育工作总结
2014/11/14 职场文书
新郎新娘答谢词
2015/01/04 职场文书
施工单位工程部经理岗位职责
2015/04/09 职场文书
HR在给员工开具离职证明时,需要注意哪些问题?
2019/07/03 职场文书
用Python提取PDF表格的方法
2021/04/11 Python
elementui的el-popover修改样式不生效的解决
2021/06/30 Javascript