python/jinja中的正则表达式模式替换

python/jinja中的正则表达式模式替换,python,regex,Python,Regex,我是正则表达式新手,在python中很难为这个自定义函数re_replace组合正则表达式参数: {{fieldname|re_replace(pattern, replacement)}} 模式使用正则表达式,我想返回以下id=0123456,其中字段名遵循以下格式: 我已经成功地替换了id=0123456的id,但是还不能做相反的操作。提前感谢。您是否可以使用自己的自定义函数来完成此操作 语法是: re.search(r'id\=\d+', fieldname).group(0)

我是正则表达式新手,在python中很难为这个自定义函数
re_replace
组合正则表达式参数:

{{fieldname|re_replace(pattern, replacement)}}
模式使用正则表达式,我想返回以下
id=0123456
,其中字段名遵循以下格式:

我已经成功地替换了id=0123456的
id,但是还不能做相反的操作。提前感谢。

您是否可以使用自己的自定义函数来完成此操作

语法是:

re.search(r'id\=\d+', fieldname).group(0)      # return 'id=0123456'
re.search(r'(?<=id\=)\d+', fieldname).group(0) # return '0123456'
re.search(r'id\=\d+',fieldname).group(0)#返回'id=0123456'

重新搜索(r’(?查看命名捕获。这样您可以执行以下操作:

(?P<name>...)
(?P…)
并使用match.groupdict()返回包含匹配项的命名词典。
在这里阅读更多信息:

你能展示你在正则表达式中尝试过的自定义函数和尝试的代码吗?如果你只是想从fieldname中获取一个值,为什么需要替换?嗨,对不起,我不能让上面的代码工作。如果这有什么区别,它是为jinja2模板准备的。webpage.php?{re.search(r'id\=\d+,{entry.url}).group(0)}语法不应该是
{re.search(r')(?尝试了上面的方法并得到了
模板语法错误:预期的标记,“'get'string'
@user1681032尝试将其设置为python中的另一个变量(并授予jinja访问该变量的权限),因此它是:
{just_the lambu id}
@user1681032可能
{fieldname}da x:re.search(r'id\=\d+',x).group(0)}
可以工作…但我认为在.py中执行更可取。