检查字符串在Python中是否为特定格式

时间:2019-03-27 19:14:20

标签: python regex

我的字符串如下。

/customer/v1/123456789/account/

URL中的ID是动态的。

我要检查的是是否有该字符串,如何确定第一部分和第二部分是否与下面的结构匹配。 /customer/v1/<customer_id>/account

到目前为止,我所做的就是这个。但是,我想检查端点是否与结构完全匹配。

endpoint_structure = '/customer/v1/'
endpoint = '/customer/v1/123456789/account/'

if endpoint_structure in endpoint:
    return True
return False

端点结构也可能会更改。 例如:/customer/v1/<customer_id>/documents/<document_id>/,将再次有给定的端点,我需要检查给定的端点是否适合该结构。

2 个答案:

答案 0 :(得分:0)

您可以使用正则表达式;

import re
return re.match(r'^/customer/v1/\d+/account/$', endpoint)

或者您可以检查开始和结束:

return endpoint.startswith('/customer/v1/') and endpoint.endswith('/account/')

...尽管这不会尝试验证开头和结尾之间的内容是数字。

答案 1 :(得分:0)

可以使用正则表达式解决此问题

  

^(/ customer / v1 /)(\ d)+(/ account /)$

如果您要指定customer_id的最小长度   (/ customer / v1 / << strong> customer_id > / account),然后使用以下正则表达式

  

^(/ customer / v1 /)(\ d) {5,} (/ account /)$

在这里,customer_id的长度必须至少为5位数字

Check here

相关问题