images/:id/size
images/<span>:id</span>/size
如果我在javascript
中这样做
method = 'images/:id/size';
method = method.replace(/\:([a-z]+)/, '<span>$1</span>')
alert(method)
我得到所需的结果,但是如果我在python
中这样做>>> method = 'images/:id/huge'
>>> re.sub('\:([a-z]+)', '<span>$1</span>', method)
'images/<span>$1</span>/huge'
我不,我如何让python返回正确的结果而不是
$1
?
re.sub
甚至正确执行此操作的功能是否正确?
simply使用
re.sub
文档:
:
反向注册
\g<0>
替换在整个子字符串中与re.相匹配。
请参阅
Pythondemo:
import re
method = 'images/:id/huge'
print(re.sub(r':[a-z]+', r'<span>\g<0></span>', method))
# => images/<span>:id</span>/huge
如果您需要执行案例不敏感的搜索,请添加flag=re.I
:
re.sub(r':[a-z]+', r'<span>\g<0></span>', method, flags=re.I)
使用
\1
$1
。
Umber匹配相同数字组的内容。
http://docs.python.org/library/re.html#regular-expression-syntax
对于替换部分,Python使用sed和vi的方式,not
perl,java和javaScript(等)的方式。 此外,由于$1