我正在尝试将一个字符串拆分成一个单词数组,但是我想在每个单词后面保留空格.这是我正在尝试的:
var re = /[a-z]+[$\s+]/gi;
var test = "test one two three four ";
var results = test.match(re);
Run Code Online (Sandbox Code Playgroud)
我期望的结果是:
[0]: "test "
[1]: "one "
[2]: "two "
[3]: "three "
[4]: "four "
Run Code Online (Sandbox Code Playgroud)
但是,每个单词后最多只匹配一个空格:
[0]: "test "
[1]: "one "
[2]: "two "
[3]: "three "
[4]: "four "
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
考虑:
var results = test.match(/\S+\s*/g);
Run Code Online (Sandbox Code Playgroud)
这样可以保证你不会错过任何角色(除了开头的几个空格,但\S*\s*可以照顾它)
你原来的正则表达式是:
[a-z]+ - 匹配任意数量的字母(至少一个)[$\s+]-多一个字符- $,+或空白.在此组之后没有量词,您只匹配一个空格.| 归档时间: |
|
| 查看次数: |
18764 次 |
| 最近记录: |