Reg Ex:在URL中的破折号之前匹配一个单词

时间:2019-09-08 21:08:18

标签: regex

我正在尝试使用以下结构匹配多个URL:

/ color-deals / best-color-deals / blue-deals /

我希望RegEx能够捕获具有此结构的所有URL,而不管URL末尾的特定颜色如何,但是我需要包含的颜色。例如,蓝色交易,黄色交易,红色交易等。

我尝试了几种组合,但对我来说似乎并不干净。有人可以确认我以干净的方式这样做吗? RegEx测试人员告诉我,它可以捕获我想要的东西,但仍然感觉会更好。

\/color-deals\/best-color-deals\/((blue|yellow|green|pink)(\-deals\/$))

1 个答案:

答案 0 :(得分:1)

您的表达式很好,如果您不希望捕获组,可以将其设为非捕获,对于结尾的斜杠,以防万一,如果可能是可选的,我们可以添加一个?,以便变得如此:

\/color-deals\/best-color-deals\/(?:blue|yellow|green|pink)-deals\/?$

除此之外,看起来很棒。


  

如果您想探索/简化/修改表达式,可以   在右上角的面板上进行了说明   regex101.com。如果您愿意,   也可以在this link中观看它的匹配方式   针对一些样本输入。


jex.im可视化正则表达式:

enter image description here