我有一个类似“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