我需要编写一个正则表达式模式来识别字符串何时有正则表达式。
我正在解析Django urls.py文件以查看用户指定为路由的内容。然后在我的中间件中,我正在查看request.path,我想检查传递的url是否是使用正则表达式或普通字符的URL。
我的想法是截取正则表达式网址,然后解析urls.py行以确定传入请求网址的绑定位置。
如果我有一个网址,那就是这样:
/users/{userid}/delete
or /users/{userid}
or /{userid}
我会将url规范化,以便/ users / 1139 / delete 将会 /用户/用户/删除
我想使用正则表达式来识别django url是用regex指定的,还是它的正常路径。
这是一个带有正则表达式的网址的示例:
articles/(?P<year>[0-9]{4})/(?P<month>[0-9]{2})/(?P<slug>[\w-_]+)/
这是正常路径
/test/helloworld
我只需确定它何时具有正则表达式并对其进行规范化,以便可以更轻松地运行指标搜索。
不确定如何编写正则表达式以确定字符串行中是否有正则表达式,因为我逐行解析urls文件,并且我在正则表达式中非常糟糕并且无法解决它。
答案 0 :(得分:0)
除了简单^
之外的任何事情
如果您需要多个字符,只需添加+
[^a-z0-9]
Match a single character not present in the list below [^a-z0-9]
a-z a single character in the range between a (index 97) and z (index 122) (case sensitive)
0-9 a single character in the range between 0 (index 48) and 9 (index 57) (case sensitive)
多个字符[^a-z0-9]+
re.match(".*[^a-z0-9\/].*", line2)