我需要创建一个RegExp,它将允许我使用组来正确地解析字符串以获得一些比较逻辑。
考虑以下字符串列表:
const testSet: string[] = [
"alpha-4181a",
"alpha-4181a-2",
"alpha-4181a_3",
"example",
"smokeTest"
]
请注意-2
和_3
,它们是此命名约定中有效的版本控制方法。我们希望保持对它们的支持。
如果我们循环上述集合,我期待的是整个字符串,如果它存在的话,则不带版本控制(如下所示)...
const returnSet: string[] = [
"alpha-4181a",
"alpha-4181a",
"alpha-4181a",
"example",
"smokeTest"
]
到目前为止,我已经有了下面的正则表达式/([-_]\d?)$/gi
,它正确地标识了字符串末尾的版本。从这里,我想创建一个额外的组,它匹配所有不是版本约定的内容,但我似乎无法弄清楚...
1条答案
按热度按时间lb3vh1jj1#
你只需要在最后的版本化之前匹配所有的东西,但是你也需要惰性匹配,这就是
+?
-更多信息请参见this question。