如何从Javascript中的较大字符串获取字符串?

时间:2018-08-24 03:49:30

标签: javascript regex

我有遵循以下格式的字符串:

/users/john/users/anna/users/charles/something

我想获取用户名。因此,它要么是/users/之后的单词,要么是/users/之后且另一个/之前的单词。

如何在javascript中做到这一点?

2 个答案:

答案 0 :(得分:2)

匹配/users/,然后捕获组中的非斜杠,然后提取该组:

['/users/john',
'/users/anna',
'/users/charles/something']
.forEach(str => {
  console.log(
    str.match(/\/users\/([^/]+)/)[1]
  )
});

答案 1 :(得分:0)

尝试使用正则表达式替换为捕获组:

var input = 'users/charles/something';
if (/^users\/.*$/.test(input)) {
    var username = input.replace(/^users\/([^\/]+).*/, "$1");
    console.log(username);
}
else {
    console.log("no match");
}