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和以前的版本中,我得到不同的结果,您能帮助我吗?