首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache重写UUID v1

Apache重写UUID v1
EN

Stack Overflow用户
提问于 2020-07-07 13:30:21
回答 1查看 187关注 0票数 1

如何使用最大检查( v1 UUID )精确地重写一个36个字符的RewriteRule?

UUID() returns a value that conforms to UUID version 1 as described in RFC 4122. The value is a 128-bit number represented as a utf8 string of five hexadecimal numbers in aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee format:

请给一些比这更好的东西:RewriteRule ^([A-z0-9\-]{36})$ index.php?uuid=$1 [L,QSA]

EN

回答 1

Stack Overflow用户

发布于 2020-07-08 05:59:54

你可以尝试:

代码语言:javascript
复制
^[a-fA-F0-9]{8}-(?:[a-fA-F0-9]{4}-){3}[a-fA-F0-9]{12}$

对上述正则表达式的解释:

  • ^, $ -分别表示行的开始和结束。
  • [a-fA-F0-9]{8} --根据docs;作为一个由五个十六进制数字组成的utf8字符串;所以只允许十六进制字符是好的。因此,-之前的第一个字符串是8个字符长的十六进制值。
  • (?:[a-fA-F0-9]{4}-){3} -表示一个非捕获组匹配四次十六进制字符,然后是一个-,整个模式精确重复3次。
  • [a-fA-F0-9]{12} --精确地表示十六进制字符12次。
  • $0 -对于匹配部分,您可以使用第0次捕获组,因为没有特殊的捕获。

Regex演示

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62776450

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档