Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 正则表达式拆分分隔符,其内容没有空格_Javascript_Regex - Fatal编程技术网

Javascript 正则表达式拆分分隔符,其内容没有空格

Javascript 正则表达式拆分分隔符,其内容没有空格,javascript,regex,Javascript,Regex,我正试图写一个正则表达式,但遇到了困难 我的目标是在一定条件下将内容拆分为两个分隔符 比如说 var str = "foo -word- a b -word2- a b-c -word3- h- b-"; 拆分的结果必须是: var result = [ "foo", "word", "a b", "word2", "a b-c", "word3", "h- b-" ]; 现在我已经做到了: var result = str.split(\-(.*?)-\); 但是

我正试图写一个正则表达式,但遇到了困难

我的目标是在一定条件下将内容拆分为两个分隔符

比如说

var str = "foo -word- a b -word2- a b-c -word3- h- b-";
拆分的结果必须是:

var result = [
    "foo", "word", "a b",
    "word2", "a b-c",
    "word3", "h- b-"
];
现在我已经做到了:

var result = str.split(\-(.*?)-\);

但是我只想捕获不包含空格的分隔符。

问题是,当您可以指定字符的范围或类别时,您正在使用
*
。试试这个:

var result=str.split(-S+)


\S
是任何非空白字符,这将查找其中的任何一个或多个

问题在于,当您可以指定字符的范围或类别时,您正在使用
*
。试试这个:

var result=str.split(-S+)


\S
是任何非空白字符,这将查找其中的任何一个或多个

为什么
word
会丢失连字符(
-
),而不是
h
b
?请说明您要遵循的确切规则。我想捕获-*-中不包含空格的内容。为什么
word
会丢失连字符(
-
),而不是
h
,或
b
?请说明您希望遵循的确切规则。我希望捕获-*-中不包含空格的内容。在IE8和以前的版本中,我得到不同的结果,您能帮助我吗?在IE8和以前的版本中,我得到不同的结果,您能帮助我吗?