通过多个条件将字符串分割成多个部分

时间:2019-11-01 06:48:57

标签: javascript regex

我有某种字符串可以通过不同的条件拆分为数组。我尝试了不同的方法。但是仍然不会像预期的那样。

我的字符串可以包含任何字符。 注意:字符串不包含空格

示例字符串:- $$_hello_$$-world/foo/$$_bar_$$$$_john_$$-doe

我需要拆分为

  1. $$_anythinghere_$$是一个组成部分

  2. -的另一部分

  3. /的另一部分

  4. 其他任何文本作为另一部分

我想将此字符串拆分为

这样的数组

["$$_hello_$$", "-", "world", "/", "foo", "/", "$$_bar_$$", "$$_john_$$", "-", "doe"]

我希望使用香草javascript解决方案。

1 个答案:

答案 0 :(得分:1)

这可能有帮助。

var regex = new RegExp(/(\$\$\_(.*?)\_\$\$)|(\-)|(\/)|((?:.)\w*)/, 'ig');
var str = "$$_hello_$$-world/foo/$$_bar_$$$$_john_$$-doe";
var matches = [];


while (i = regex.exec(str)) {
    matches.push(i[0]);
}

console.log(matches)