【发布时间】:2022-06-15 12:27:12
【问题描述】:
我需要帮助设置一个正则表达式,它有一个非常具体的开始,一个捕获组,然后是其他可以按任何顺序排列的组。
例子:
c/category-name/f-brand-super-brand/f-hair-porosity-POR
类别 => 类别名称
f-brand => 超级品牌
f-hair-porosity => POR
c/exampleC/f-brand-brandY/f-hair-porosity-my-porosity
类别 => 示例C
f-brand => 品牌Y
f-hair-porosity => 我的孔隙度
这是我已经走了多远:
(f-(brand|hair-porosity|shampoo-type)?-?(.*?)(\/|$))
通过使用这个正则表达式,我可以找到我需要的匹配项,并且它可以以任何给定的 f-xxx 顺序工作。
但是我面临的问题是我无法捕获类别名称。我所有的尝试都导致要么只捕获第一个 f-xxx 要么捕获最后一个 f-xxx。
有什么想法吗?
这将放在 wordpress add_rewrite_url 中,所以我需要它是一个单行。
【问题讨论】:
-
您的正则表达式有 4 个捕获组。请解释他们应该在类别的情况下捕获什么?
-
你也可以在这里回复我的问题吗?
-
我需要将类别和子类别名称(如果存在)捕获为一组。我不是专家,所以我创建的组可能比必要的多。
标签: regex wordpress url-rewriting