Javascript 正则表达式匹配字符串末尾的URL-number,但也匹配字符串开头的字符
我需要匹配以下URL格式 /yc/leroy-jenkins-123 所以我需要匹配/yc/part和123 当其/leroy-jenkins-123与以下内容匹配时,我能够匹配URLJavascript 正则表达式匹配字符串末尾的URL-number,但也匹配字符串开头的字符,javascript,regex,reactjs,express,next.js,Javascript,Regex,Reactjs,Express,Next.js,我需要匹配以下URL格式 /yc/leroy-jenkins-123 所以我需要匹配/yc/part和123 当其/leroy-jenkins-123与以下内容匹配时,我能够匹配URL server.get(/([^-]*)$/, (req, res) => { const actualPage = '/profile' const queryParams = { id: req.params[0] } app.render(req, res, actualPage
server.get(/([^-]*)$/, (req, res) => {
const actualPage = '/profile'
const queryParams = { id: req.params[0] }
app.render(req, res, actualPage, queryParams)
})
因此,我可以将123与[^-]+$匹配,但如何也与/yc/部分匹配?只需使用^\/\w+\/:
还请注意,您可能应该在字符串结尾之前至少重复一个非破折号字符,否则它可以匹配结尾处的空字符串,例如URL
/
其他任何字符都不匹配,因为字符串末尾至少有零个非破折号字符,这可能是不可取的
除非团队真的被用于某些事情,否则可以完全忽略它:
server.get(/[^-]+$|^\/\w+\//, ...
只需使用^\/\w+\/:
还请注意,您可能应该在字符串结尾之前至少重复一个非破折号字符,否则它可以匹配结尾处的空字符串,例如URL
/
其他任何字符都不匹配,因为字符串末尾至少有零个非破折号字符,这可能是不可取的
除非团队真的被用于某些事情,否则可以完全忽略它:
server.get(/[^-]+$|^\/\w+\//, ...
您可以使用此正则表达式从group1和group2获取和捕获值
^(\/[^\/]+\/).*?(\d+)$
说明:
^-匹配字符串的开头
\/[^\/]+\/-匹配一个/后接除/以外的任何字符,一个或多个字符后接一个/并在group1中捕获此值
.*? - 允许零个或多个任意字符的可选匹配
\d+$-匹配一个或多个数字,并在group2中捕获它,后跟字符串结尾
您可以使用此正则表达式从group1和group2获取和捕获值
^(\/[^\/]+\/).*?(\d+)$
说明:
^-匹配字符串的开头
\/[^\/]+\/-匹配一个/后接除/以外的任何字符,一个或多个字符后接一个/并在group1中捕获此值
.*? - 允许零个或多个任意字符的可选匹配
\d+$-匹配一个或多个数字,并在group2中捕获它,后跟字符串结尾
解释得很好的答案++解释得很好的答案++