我有一个像'users / 123 / edit'这样的网址片段,我想匹配字符串的第一部分(在本例中为'users')。 URL片段也可以只是“用户”,也应该与“用户”匹配。
我可以通过JS find()和 substr()来实现,但我想看看,我是如何通过正则表达式来实现的。对解决方案的解释也很好。
答案 0 :(得分:2)
正则表达式:/([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
gnore case标志使整个匹配不区分大小写。
<强> DEMO 强>
答案 1 :(得分:1)
您可以使用split('/')[0]
:
s = 'users/123/edit'.split('/')[0];
// users
或者其他:
s = 'users'.split('/')[0];
// users
答案 2 :(得分:1)