添加一个正则表达式约束我有许多途径可以是这样:在Rails的路线
possible routes:
- mac-book-retina-17-pid234-234
- hp-laptop-pid234-234
- vaoe-x12-pid234-234
,我想使用Ruby的路由文件的约束,以匹配所有以一个动作。像
get 'products/:product_info', to: 'products#type', constraints: { product_info: /[a-z]+-a-z]+-a-z]+-pid\d+-\d+/ }
问题的东西是,/[a-z]+-/
可以得到重复1次,2次和3次,这使得它很难获得一致的共享正则表达式的所有案件。 在所有路线中唯一不变的部分是最后一部分:pid234-234
它引用产品ID和另一个sub_id。
我在想这样的事情:找到所有的字符串,直到你的每个部分(pid
),但我不知道该怎么做。
喜欢的东西[这](https://regex101.com/r/aQ2kO4/1)? –
您可以使用大括号来指定组的重复次数作为范围。 '([A-Z0-9] - ){1,4}'。 –