Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.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/node js中使用regExp拆分字符串并获取数组_Javascript_Node.js_Regex - Fatal编程技术网

在javascript/node js中使用regExp拆分字符串并获取数组

在javascript/node js中使用regExp拆分字符串并获取数组,javascript,node.js,regex,Javascript,Node.js,Regex,我正在编写js代码,以便在使用正则表达式拆分后获得元素数组 var data = "ABCXYZ88"; var regexp = "([A-Z]{3})([A-Z]{3}d{2})"; console.log(data.split(regexp)); 它回来了 ['ABCXYZ88'] 但我期待着像这样的事情 ['ABC','XYZ','88'] 有什么想法吗?我修复了您的正则表达式,然后将其与字符串匹配,并提取了相关的捕获组: var regex = /([A-Z]{3})([A-Z

我正在编写js代码,以便在使用正则表达式拆分后获得元素数组

 var data = "ABCXYZ88";
 var regexp = "([A-Z]{3})([A-Z]{3}d{2})";
 console.log(data.split(regexp));
它回来了 ['ABCXYZ88']

但我期待着像这样的事情 ['ABC','XYZ','88']


有什么想法吗?

我修复了您的正则表达式,然后将其与字符串匹配,并提取了相关的捕获组:

var regex = /([A-Z]{3})([A-Z]{3})(\d{2})/g;
var str = 'ABCXYZ88';
let m = regex.exec(str);
if (m !== null) {
   console.log(m.slice(1)); // prints ["ABC", "XYZ", "88"]
}

在您的情况下,我不认为您可以在尝试时使用正则表达式进行拆分,因为似乎没有任何可匹配的分隔字符。要使其工作,您必须有一个类似于ABC | XYZ | 88的字符串;然后您可以执行“ABC | XYZ | 88”。拆分(/\ |/g)。(当然,对于如此简单的情况,您不会使用正则表达式。)

试试这个。我希望这就是你要找的

      var reg = data.match(/^([A-Z]{3})([A-Z]{3})(\d{2})$/).slice(1);

  • 您的
    regexp
    不是
    regexp
    对象,而是
    字符串
  • 您的捕获组不正确
  • String.prototype.split()不是您需要的函数。
    split()
    的作用是:
  • var myString='你好,世界。你好吗;
    var splits=myString.split(“”,3);
    console.log(拆分);//[“你好”,“世界”,“你好”]
    
    您需要什么:

    var数据='ABCXYZ88';
    var regexp=/^([A-Z]{3})([A-Z]{3})(\d{2})$/;
    var match=data.match(regexp);
    console.log(match.slice(1));//[“ABC”、“XYZ”、“88”]
    
    这不是正则表达式。请尝试
    数据.match(/^([a-Z]{3})([a-Z]{3})(\d{2}$/)。切片(1)
    。你的字符串格式是固定的吗?2 x 3大写字母和2位数字?这真是太好了,迈克。这正是我所期待的。但我觉得我们可以用split来做。不管怎样,这很好。