Python删除未知的10个字符字符串

2024-05-23 23:19:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用的是Eric Bidelman/HTML5Rocks的修改版本cachebust.pycss/js文件。link is here

而不是像

.css?2012-07-30

我将变量修改为-

^{pr2}$

所以它变成了(例如)

.css?6SKD39SFJ3

他的原始版本似乎也没有删除日期,所以我不太确定这是怎么一个'缓存控制',但我想如果我可以自动剥离这10个字符,它会工作。首先针对任何js文件(对于新文件),然后如果js?(在cachecontrol已经就位的情况下),剥离现有的cachecontrol

asset = re.search('\.(js")><\/script>', line)
if asset is not None:
  existing = re.search('\.(js?"', line)
  if existing is not None:
    line[i] = line.replace('.js?'STRING????'"', '.js"')
  lines[i] = line.replace('.js"></script>', '.js?%s"></script>' % cachebust)

你在想什么呢????应该是,还是这个方法行不通?我是python新手,所以我只是在这里做实验。。。在


Tags: 文件版本renonesearchifisline
1条回答
网友
1楼 · 发布于 2024-05-23 23:19:22

您可以替换3条线:

existing = re.search('\.(js?"', line)
if existing is not None:
    line[i] = line.replace('.js?'STRING????'"', '.js"')

有:

^{pr2}$

输出:

>>> re.sub(r'\.js\?[-0-9]{10}">',r'.js?">', '<script type="blah" src="url/to/path.js?2012-07-02">')
'<script type="blah" src="url/to/path.js?">'

我使用了regexp[-0-9]{10},它代表10个字符的数字和一个破折号。如果可以代表任何10个字符,请使用:.{10}

相关问题 更多 >