正则表达式替换

hlStack 发布于 2017/09/11 16:09
阅读 180
收藏 1

在写tornado的template, 需要把 src=后面的内容

src= {{ static_url("/img/089.jpg") }}

替换成()里面的内容:

('../static/img/089.jpg')

因为正则表达式不太熟悉,请教大神怎么写?

加载中
0
Andyfoo
Andyfoo
#!/usr/bin/python
import re
str = "src= {{ static_url(\"/img/089.jpg\") }}"
str = re.sub(r'src\s*=\s*\{\{\s*static_url\("([^"]+)"\)\s*}}', "('../static\\1')", str)
print str

 

hlStack
hlStack
谢谢兄弟, 你给了我一个学习RE的机会
0
hlStack
hlStack

这个坑,还是我亲自填吧~~~
原题是要把tornado的模板语法写的路径抽取出来,用js换成相对路径
因为可变部分其实只有数字,那么用简单的正则搞一搞,JS代码如下:

var str = "{{ static_url(\"img/289.jpg\") }}";
var aim = '../static/img/' + str.match(/\d+/g) + '.jpg';
console.log(aim);

 

hlStack
hlStack
介个好
Andyfoo
Andyfoo
晕,你发的分类是python,我也不会就现学了下,js我还是比较熟的。 var str = "src= {{ static_url(\"/img/089.jpg\") }}"; str = str.replace(/src\s*=\s*\{\{\s*static_url\("([^"]+)"\)\s*}}/ig, "('../static$1')"); console.log(str);
返回顶部
顶部