模式不匹配

时间:2016-04-29 22:04:29

标签: regex

我正在试图弄清楚如何制作;

/section/hello-news/goodbye-news

使用此模式时匹配(单个组)

/section/([a-zA-Z0-9\-]+)

但是按照我的方式设置只有/section/hello-news匹配。我哪里错了?

3 个答案:

答案 0 :(得分:1)

你错过了正斜杠auto it = hashmap.find(hash); if (it != hashmap.end()) { (it->second)(); } else { // error! } ,试试这个:

/

Regex101 Demo

答案 1 :(得分:0)

这是正确的正则表达式,只需添加另一个组:

\/section\/([a-zA-Z0-9-]+)\/([a-zA-Z0-9-]+)

https://regex101.com/r/mP0wN2/1

答案 2 :(得分:0)

您错过/上的结尾hello-news,并允许其重复。

/section(/[a-zA-Z0-9\-]+)+

这样,它匹配任意数量的子目录。即'/ section / foo / bar / baz'。

如果您正在使用匹配,您也可以通过使其不捕获来忽略斜杠:

/section/(?:/([a-zA-Z0-9\-]+))+