如何使用JavaScript拆分此字符串?

如何使用JavaScript拆分此字符串?,javascript,Javascript,我有这根绳子 (<<b>>+<<10>>)*<<c>>-(<<x>>+<<y>>) 我建议: "(<<b>>+<<10>>)*<<c>>-(<<x>>+<<y>>)".match(/[a-z0-9]+/g); // ["b", "10", "c", "x"

我有这根绳子

(<<b>>+<<10>>)*<<c>>-(<<x>>+<<y>>) 
我建议:

"(<<b>>+<<10>>)*<<c>>-(<<x>>+<<y>>)".match(/[a-z0-9]+/g);
// ["b", "10", "c", "x", "y"]
“(+)*-(+)”。匹配(/[a-z0-9]+/g);
//[“b”、“10”、“c”、“x”、“y”]

参考资料:

试试这个:

'(<<b>>+<<10>>)*<<c>>-(<<x>>+<<y>>)'.match(/[^(<+>)*-]+/g)
“(+)*-(+)”.匹配(/[^()*-]+/g)
使用正则表达式

var pattern=/[a-zA-Z0-9]+/g
your_string.match(pattern).

此正则表达式的优点是,您可以使用字符串中的任何内容,包括其他字母数字字符,而无需自动匹配它们。只有
中的标记才匹配。

原始字符串的结构是否总是相同的?我建议阅读有关。如果能更多地了解您在这里试图解决的实际问题,那将非常有趣。看起来你想写一个解析引擎?也许如果你在这一点上展开一点,你可能会得到更多实际有用的答案,而不是直接解决你目前在问题中提出的子问题。我能问一下这个字符串是从哪里来的,尖括号的目的是什么吗?或者甚至是
匹配(/[0-9a-z]+/g)
我如何理解匹配中的正则表达式??你能解释一下吗..只是问一下???@MESSIAH:它的匹配字符不是
()*-
var pattern=/[a-zA-Z0-9]+/g
your_string.match(pattern).
var str = '(<<b>>+<<10>>)*<<c>>-(<<x>>+<<y>>) ';
var arr = str.match(/<<(.*?)>>/g);
// arr will be ['<<b>>', '<<10>>', '<<c>>', '<<x>>', '<<y>>']

arr = arr.map(function (x) { return x.substring(2, x.length - 2); });
// arr will be ['b', '10', 'c', 'x', 'y']
var regex = /<<(.*?)>>/g;
var match;
while ((match = regex.exec(str))) {
    console.log(match[1]);
}