Javascript split使用正则表达式为我带来空白空间

时间:2014-02-23 11:40:26

标签: javascript regex split

我的输入字符串为<img src="hello"/>,我必须仅保留imghello

我的正则表达式是:

input = src.split(/<|\s+src="|"\/>/g);

...但我得到input=["", "img", "hello", ""]而不是input=["img", "hello"]

在线regexp javascript拆分服务向我显示正确的结果,但真正的javascript没有。

如何解决?

1 个答案:

答案 0 :(得分:1)

当您尝试通过RegExp进行拆分时,当脚本发现字符串中的RegExp时,它会将新元素推送到数组。如果您尝试使用普通字符串进行拆分,则情况相同:

input = 'xxx';
result = input.split('xxx'); // result = ['', 'xxx', '']
result2 = input.split('x'); // result2 = ['', '', '', '']

所以让我们在字符串上执行Regexp:

input = '<img src="hello"/>';
reg = /<(.*) src="(.*)"\/>/g;
result = reg.exec(input); // result = ['<img src="hello"/>', 'img', 'hello']