正则表达式的新功能,我很难在python中为自定义函数re_replace
组合一个正则表达式参数:
{{fieldname|re_replace(pattern, replacement)}}
该模式使用正则表达式,我想返回以下id=0123456
,其中fieldname遵循以下格式:
https://a.website.com/page.php?id=0123456&variable1=abcde123&variable2=abc123de
我已设法替换id=0123456
,但无法进行反向操作。提前谢谢。
答案 0 :(得分:2)
您可以使用re.search
而非自己的自定义函数来执行此操作吗?
语法为:
re.search(r'id\=\d+', fieldname).group(0) # return 'id=0123456'
re.search(r'(?<=id\=)\d+', fieldname).group(0) # return '0123456'
要执行逆操作,您可以使用re.sub
。
答案 1 :(得分:0)
查看命名捕获。这样你就可以做到这样的事情:
(?P<name>...)
使用 match.groupdict()并返回包含匹配项的命名字典。 在此处阅读更多相关信息:http://docs.python.org/library/re.html