首页 > 解决方案 > 字符串的正则表达式,并且不能在某个位置包含数字

问题描述

forums/test.654654564/44654562356456-blabla.html 我想重定向这种网址...

我有这个正则表达式 ^\/forum\/.+\.([\d]+)\/([\d]+)-.+\.html$

不幸的是,处理此 URL 的错误 forums/test.654654564/44654562356456-blabla.2332423233242.html 是不允许发生。有任何想法吗?

规则应该是,一旦 '.html' 出现在它前面,.\[\d+]它就应该被忽略。用于 nginx 重定向。

标签: regexnginx

解决方案


所需的正则表达式可以通过将 .html 位前面的 .+ 替换为 [a-zA-Z0-9] 来实现:

^\/forums\/.+\.([\d]+)\/([\d]+)-[a-zA-Z0-9]+\.html$

正则表达式测试


推荐阅读