【发布时间】:2015-01-10 03:06:47
【问题描述】:
我注意到 2014 年 rackspace 生产的 URI 实用程序 python 库有一个 parse_query_string 方法,可以去除下划线:
>>> parse_query_string("_id=foo")
{"id":"foo"}
这是不好的行为吗?这是他们正在使用的正则表达式:
_QS_PATTERN = re.compile(r'(?<![0-9])([a-zA-Z][a-zA-Z_0-9\-.]*)=([^&]+)')
我注意到删除第一个 a-zA-Z 集使其按预期工作:
_QS_PATTERN = re.compile(r'(?<![0-9])([a-zA-Z_0-9\-.]*)=([^&]+)')
知道他们为什么这样做吗?
【问题讨论】:
-
我不认为这是不好的行为,有时需求可能会证明他们的合理性。但总的来说,避免使用下划线将有助于创建更具可读性的 url。