如何用正则表达式替换重复部分字符串?

时间:2015-01-21 02:19:27

标签: regex django

我有以下用django编写的格式的网址:

{% url 'wap:client:goods_category' %}

我想将它们替换为:

/wap/client/goods-category.html

我使用的是jetbrains IDE,并希望用正则表达式替换它们。

所以我写了以下模式:

\{% url '([^']+):([^']+):([^']+)' %\}

Repace to:

/$1/$2/$3.html

问题:

这有帮助,但下划线无法替换为破折号。

页面名称中可能有零个或多个下划线。

所以也试过了:

\{% url '([^']+):([^']+):([^'\_]+\_)*([^']+)' %\}

这与所有页面名称段匹配,但我不知道有多少段匹配。


解决方案?请帮忙!

1 个答案:

答案 0 :(得分:0)

您可以在repl的{​​{1}}参数中使用callable:

re.sub()