string匹配的Javascript
我想要@符号后面的字符,直到空格字符。
例如。 如果我的string像hello @world. some gibberish.@stackoverflow
hello @world. some gibberish.@stackoverflow
。 然后我想获得angular色的“世界”和“计算器”。
这是我一直在尝试。
var comment = 'hello @world. some gibberish.@stackoverflow'; var indices = []; for (var i = 0; i < comment.length; i++) { if (comment[i] === "@") { indices.push(i); for (var j = 0; j <= i; j++){ startIndex.push(comment[j]); } } }
我可以得到@和空格的出现,然后修剪该部分以获得我的内容,但是我希望有一个更好的解决scheme/build议,没有REGEX。 提前致谢。
你可以使用这个正则expression式:
/@(\S+)/g
并在循环中使用exec
方法抓取捕获的组。
此正则expression式匹配@
,然后\S+
匹配一个或多个非空间字符,这些字符被分组到捕获的组中。
码:
var re = /@(\S+)/g; var str = 'hello @world. some gibberish.@stackoverflow'; var m; var matches=[]; while ((m = re.exec(str)) !== null) { matches.push(m[1]); } document.writeln("<pre>" + matches + "</pre>");