我正在尝试使用以下结构匹配多个URL:
/ color-deals / best-color-deals / blue-deals /
我希望RegEx能够捕获具有此结构的所有URL,而不管URL末尾的特定颜色如何,但是我需要包含的颜色。例如,蓝色交易,黄色交易,红色交易等。
我尝试了几种组合,但对我来说似乎并不干净。有人可以确认我以干净的方式这样做吗? RegEx测试人员告诉我,它可以捕获我想要的东西,但仍然感觉会更好。
\/color-deals\/best-color-deals\/((blue|yellow|green|pink)(\-deals\/$))
答案 0 :(得分:1)
您的表达式很好,如果您不希望捕获组,可以将其设为非捕获,对于结尾的斜杠,以防万一,如果可能是可选的,我们可以添加一个?
,以便变得如此:
\/color-deals\/best-color-deals\/(?:blue|yellow|green|pink)-deals\/?$
除此之外,看起来很棒。
如果您想探索/简化/修改表达式,可以 在右上角的面板上进行了说明 regex101.com。如果您愿意, 也可以在this link中观看它的匹配方式 针对一些样本输入。
jex.im可视化正则表达式: