Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从werkzeug/Flask路由规则捕获类型和/或参数化路径的规则_Python_Regex_Flask_Routing_Werkzeug - Fatal编程技术网

Python 从werkzeug/Flask路由规则捕获类型和/或参数化路径的规则

Python 从werkzeug/Flask路由规则捕获类型和/或参数化路径的规则,python,regex,flask,routing,werkzeug,Python,Regex,Flask,Routing,Werkzeug,我有一套烧瓶路线 /<string:name>/<path:id>/ /<name>/<path:id>/ /<string:name>/<id>/ 对于所有的路径(一个正则表达式来管理所有的路径),使用具有类型的路径:pathlike/,以及那些没有类型的路径like/ 但我正在尝试: (<(.*?\:)?(.*?)>) () 哪一个只能匹配 /{name}/{id}/ /{id}/ # <--

我有一套烧瓶路线

/<string:name>/<path:id>/
/<name>/<path:id>/ 
/<string:name>/<id>/
对于所有的路径(一个正则表达式来管理所有的路径),使用具有类型的路径:pathlike
/
,以及那些没有类型的路径like
/

但我正在尝试:

(<(.*?\:)?(.*?)>)
()
哪一个只能匹配

/{name}/{id}/
/{id}/  # <--- Why this is not matching /{name}/{id}/
/{name}/{id}/
/{name}/{id}/
/{id}/#我建议使用

(<([^<>]*:)?([^<>]*)>)
()
这个。不确定您是否真的需要外部
(…)
(仅当您将其与
re.findall
一起使用时,但您可以删除它们并使用
re.finditer
并使用
match.group(0)
访问所有匹配项)

说明:


  • 无法按预期工作?我刚刚删除了\:()上的冗余转义是的,我在初始演示中保留了它,但是
    不是特殊字符,因此可以取消转义。
    (<([^<>]*:)?([^<>]*)>)