Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Javascript中从较大的字符串中获取字符串?_Javascript_Regex - Fatal编程技术网

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

如何在Javascript中从较大的字符串中获取字符串?,javascript,regex,Javascript,Regex,我有以下格式的字符串: /users/john,/users/anna,/users/charles/something 我想获取用户名。因此,它要么是/users/后面的单词,要么是/users/后面的单词,然后是另一个/前面的单词 如何在javascript中做到这一点?匹配/users/,然后捕获组中的非斜杠,并提取该组: ['/users/john', “/users/anna”, “/users/charles/something”] .forEach(str=>{ console.

我有以下格式的字符串:

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

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


如何在javascript中做到这一点?

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

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

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

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

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

var输入='users/charles/something';
如果(/^users\/.*$/.test(输入)){
var username=input.replace(/^users\/([^\/]+).*/,“$1”);
console.log(用户名);
}
否则{
控制台日志(“不匹配”);

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

var输入='users/charles/something';
如果(/^users\/.*$/.test(输入)){
var username=input.replace(/^users\/([^\/]+).*/,“$1”);
console.log(用户名);
}
否则{
控制台日志(“不匹配”);

}
您必须从/sign中拆分,然后获取正确的索引
字符串。拆分(“/”[2]
就可以了。@Khay但这不会检查字符串是否与预期格式匹配。您必须从/sign中拆分,然后获取正确的索引
字符串。拆分(“/”[2]
可以。@Khay但这不会检查字符串是否与预期格式匹配。为什么要按照CertainPerformance的建议进行替换而不是“匹配”?@HommerSmith他的性能在JavaScript问题上不确定,我不确定是否匹配
。为什么要按照CertainPerformance的建议进行替换而不是“匹配”?@HommerSmith他的表现在JavaScript问题上不确定,我不确定是否匹配
。你知道我为什么会出现这样的错误吗:
没有无用的转义:不必要的转义字符:\/。
在我的编辑器中?哎呀,显然你不必在字符集中转义前斜杠。更改为
[^/]
您知道我为什么会出现此错误:
没有无用的转义:不必要的转义字符:\/.
在我的编辑器中?哎呀,显然您不必在这里的字符集中转义正斜杠。更改为
[^/]