正则表达式在特定字符后找到所有字符串。
var str = '#a#friend❤️ dleokfir #日文 cksieje';
- >
['a', 'friend❤️', '日文']
var str = '';
- >
[]
function getArr(str) {
var re = /#([a-z0-9_\\pL_]+)/gi;
var arr = [];
// .. get string after #
str.replace(re, function( a,b ) {
arr.push( b );
});
return arr;
}
getArr(str)
答案 0 :(得分:2)
你可以使用这个否定的正则表达式:
/#([^#\s]*)/g
表示在输入中#
之后匹配0或更多非空格或非哈希字符。
<强>代码:强>
var str = `#a#friend❤️ dleokfir #日文 cksieje`;
var re = /#([^#\s]*)/g;
var m;
var matches=[];
while ((m = re.exec(str)) !== null) {
matches.push(m[1]);
}
console.log(matches);
//=> ["a", "friend❤️", "日文"]