正则表达式球衣休息服务

Regex Jersey Rest Service

我在 jersey 中有以下正则表达式,有效:

/artist_{artistUID: [1-9][0-9]*}

但是,如果我这样做

/{artistUID: [artist_][1-9][0-9]*}

它没有,我不明白正则表达式是如何构建的,也没有找到任何好的文档。我想做的是这样的:

/{artistUID: ([uartist_]|[artist_])[1-9][0-9]*}

识别 "artist_123" 和 "uartist_123" 等术语并将它们存储在 artistUID 值中。

您可以使用 交替组 ((...|...)) 而不是字符 class [...](匹配内部定义的 1 个单个字符它)。

使用

/{artistUID: (uartist|artist)_[1-9][0-9]*}

或者为了缩短它,在 u 之后使用 ? 量词使其成为可选的:

/{artistUID: u?artist_[1-9][0-9]*}

regex demo