我需要幫助設定一個具有非常具體的開始的正則運算式,一個捕獲組,然后是其他可以按任何順序排列的組。
例子:
c/category-name/f-brand-super-brand/f-hair-porosity-POR
類別 => 類別名稱
f 品牌 => 超級品牌
f-頭發孔隙率 => POR
c/exampleC/f-brand-brandY/f-hair-porosity-my-porosity
類別 => 示例 C
f-品牌 => 品牌Y
f-頭發-孔隙率 => 我的-孔隙率
這就是我已經走了多遠:
(f-(brand|hair-porosity|shampoo-type)?-?(.*?)(\/|$))
通過使用這個正則運算式,我可以找到我需要的匹配項,并且它可以以任何給定的 f-xxx 順序作業。
但是我面臨的問題是我無法捕獲類別名稱。我所有的嘗試都導致要么只捕獲第一個 f-xxx 要么捕獲最后一個 f-xxx。
有任何想法嗎?
這將進入 wordpress add_rewrite_url,所以我需要它是一個單行。
謝謝!
uj5u.com熱心網友回復:
類別前綴具有不同的模式,以正斜杠 ( c/) 結尾,因此您應該為此添加一個選項。
我會建議這個正則運算式:
(\bc\/|\bf-brand-|\bf-hair-porosity-|\bf-shampoo-type-)((?:(?!\/f-).)*)
這將捕獲兩個組:
* the prefix
* the value
/當它后面沒有'f-'時,它將允許在單個匹配中發生。這是可以在類別匹配中包含子類別的地方。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/487983.html
