function listPlayers(subject){
var players=[];
var myregexp = /(\S*)(?:,\s|$)/g;
var match = myregexp.exec(subject);
while (match != null) {
players.push(match[1]);
match = myregexp.exec(subject);
}
return players;
}
Run Code Online (Sandbox Code Playgroud)
我想要匹配的字符串是这样的 ?r Henderson?r?f, Pedrin?r?f, ?c~?lArthur?r?f, John?r?f
我期望的输出是这样的数组 ['Henderson?r?f', 'Pedrin?r?f', '?c~?lArthur?r?f', 'John?r?f']
我不明白的是正则表达式好友一切似乎都好.

尝试将正则表达式更改为:
var myregexp = /(\S+)(?:,\s|$)/g;
Run Code Online (Sandbox Code Playgroud)
我认为循环可能是因为它在末尾重复匹配一个空字符串.
由于我认为你不想获得零长度名称,所以这可能是一个更好的正则表达式.
| 归档时间: |
|
| 查看次数: |
181 次 |
| 最近记录: |