我有一个类似“users/123/edit”的 URL 片段,我想匹配字符串的第一部分(在本例中为“users”)。URL 片段也可以只是“用户”,它也应该匹配“用户”。
我可以通过 JS find()和substr()来做到这一点,但我想看看,我如何通过正则表达式来做到这一点。对解决方案的解释也很好。
我有一个类似“users/123/edit”的 URL 片段,我想匹配字符串的第一部分(在本例中为“users”)。URL 片段也可以只是“用户”,它也应该匹配“用户”。
我可以通过 JS find()和substr()来做到这一点,但我想看看,我如何通过正则表达式来做到这一点。对解决方案的解释也很好。
正则表达式:/([a-z0-9]+)(\/[a-z0-9]+)*/i
火柴:
users/123/edit
users
myuser123
// 判断是否不需要
解释:
([a-z0-9]+)
捕获一个或多个事件 ( +
)[a-z0-9]
并捕获它。
(\/[a-z0-9]+)*
捕获零次或多次出现 ( *
) ,/
并[a-z0-9]
捕获最后一次出现。
忽略大小写标志使整个i
匹配不区分大小写。
您可以使用split('/')[0]
:
s = 'users/123/edit'.split('/')[0];
// users
要不然:
s = 'users'.split('/')[0];
// users