我正在尋找與 uuid 之前和之后的特定字串的模式匹配。
例如user/a24a6ea4-ce75-4665-a070-57453082c256/photo/a24a6ea4-ce75-4665-a070-57453082c256
const regexExp = new RegExp(/^user\/[0-9A-F]{8}-[0-9A-F]{4}-[4][0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i);
console.log(regexExp.test("user/a24a6ea4-ce75-4665-a070-57453082c256")); // true
console.log(regexExp.test("user/a24a6ea4-ce75-4665-a070-57453082c256/photo")); // false
我期待的是匹配user/{uuid}/*如何在 uuid 之后使用通配符?
uj5u.com熱心網友回復:
如果您想同時匹配兩者,您可以省略使用 RegExp 建構式,因為您已經在使用文字,并且可以選擇匹配/后跟字串的其余部分。
可以[4]只是4
const regexExp = /^user\/[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}(?:\/.*)?$/i;
請參閱regex101 演示。
const regexExp = /^user\/[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}(?:\/.*)?$/i;
[
"user/a24a6ea4-ce75-4665-a070-57453082c256",
"user/a24a6ea4-ce75-4665-a070-57453082c256/photo",
"user/a24a6ea4-ce75-4665-a070-57453082c256asdasd"
].forEach(s =>
console.log(`${s} --> ${regexExp.test(s)}`)
);
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/432914.html
標籤:javascript 正则表达式 模式匹配 uuid
上一篇:如果規則,如何在gitlab-ci中使用正則運算式?
下一篇:如何使用hive從字串列中提取值
