我正在使用 PHP,我一直在尝试创建一个正则表达式模式来捕获部分 URL 路径,但无济于事。
可能的 URL 路径可以是以下任何一种:
- “产品/zzz”
- “yyyyyyyy/产品/zzz”
- “xxxxx/yyyyyyyy/产品/zzz”
- “xxxxx/yyyyyyyy/.../product/zzz”(...表示其他可能的词)
我需要捕捉的是“产品”之前的部分。
对于第一种情况,结果应该是一个空字符串。其余的是“yyyyyyyy”、“xxxxx/yyyyyyyy”和“xxxxx/yyyyyyyy/...”
这里有人可以给我提示吗?谢谢!
PS。看起来我想要的部分是相同模式“xxxx/”的重复。但我不擅长使用正则表达式组。
更新:
我可能找到了一个解决方案,通过捕获具有零次或多次重复的模式“xxx/”:“([^/]+/)*”
所以完整的正则表达式应该是 "(([^/]+/)*)product/([^/]+)"
@SERPRO:它通过了您的“Live RegExp”中的测试。希望它是有帮助的。