Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.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,例如,我有一组字符串,格式为“/something/@where”“/some/#whatiwant” 在这种情况下,我只对后面发生的事情感兴趣 对于建议的两个副本: 被接受的答案没有我接受的那么简洁,老实说,如果我能想出一种方法来搜索“regex,在一件事之后,在另一件事之前找到任何东西”,我会感到困惑 是regex的参考手册,不是我问题的答案,如果它是我问题的答案,所有regex问题都应该发送到那个方向,因此是重复的。regex应该是[^#]+#(.+)这取决于你使用的是什么风格的reg

例如,我有一组字符串,格式为“/something/@where”“/some/#whatiwant” 在这种情况下,我只对后面发生的事情感兴趣

对于建议的两个副本:

被接受的答案没有我接受的那么简洁,老实说,如果我能想出一种方法来搜索“regex,在一件事之后,在另一件事之前找到任何东西”,我会感到困惑


是regex的参考手册,不是我问题的答案,如果它是我问题的答案,所有regex问题都应该发送到那个方向,因此是重复的。

regex应该是
[^#]+#(.+)

这取决于你使用的是什么风格的regex,但你想要的是积极的回头看:

(?<=#).*

在本例中,捕获组1中
后面的非空白(对于
\S+

var testString = "/some/#whatiwant";
var testOutput = testString.match(/#(\S+)/)[1];
// alert(testOutput);
如果要同时使用
#
@
进行解析,请使用字符类
[]

var testOutput = testString.match(/[#@](\S+)/)[1];
尝试:

var arr=[“/something/@where”、“/some/#whatiwant”];
var reg=/[#@](\w+)$/;/#和@符号后的匹配
对于(变量i=0;i
RegExp
#
@
之后进行匹配(如果不希望
@
继续匹配,只需将其从
RegExp
中删除即可)


只在
#
之后还是
@
之后?到目前为止,你的正则表达式是什么?你想要的文本总是在字符串的末尾吗?哈哈……这是我应该搜索的一件事“在另一件事之前找到任何事情”我想我没有找到我上面的评论谢谢你,这正是我要找的
就可以了。“or”在字符类中是隐式的,因此
[||@]
匹配
@
@alanmore是的,很好:)
var testOutput = testString.match(/[#@](\S+)/)[1];
var arr = ["/something/@wherever","/some/#whatiwant"];
var reg = /[#@](\w+)$/; // matchs after # and @ signs

for ( var i = 0; i < arr.length; i++ ) {
    console.log(reg.exec(arr[i])[1]);
}