Javascript 连接先行正则表达式并保留(全部)分隔符?
现在,我的正则表达式遍历字符串并通过出现Javascript 连接先行正则表达式并保留(全部)分隔符?,javascript,regex,split,Javascript,Regex,Split,现在,我的正则表达式遍历字符串并通过出现/将其拆分,将斜杠保留在数组中 var str = 'File/path/to/a/file.js'; let delim = /[^\/]+\/?|\//g; var tokens = str.match(delim); // ["File/","path/","to/","a/","file.js"] 作为练习,我还想按、?和进行拆分。我怎样才能做到这一点而不把事情弄得一团糟呢?我是一个初学者,所以我最好不要有一个大的正则表达式字符串。理想情况下,
/
将其拆分,将斜杠保留在数组中
var str = 'File/path/to/a/file.js';
let delim = /[^\/]+\/?|\//g;
var tokens = str.match(delim);
// ["File/","path/","to/","a/","file.js"]
作为练习,我还想按
、?
和进行拆分代码>。我怎样才能做到这一点而不把事情弄得一团糟呢?我是一个初学者,所以我最好不要有一个大的正则表达式字符串。理想情况下,我会创建一个正则表达式数组(数组的每个元素处理一个分隔符)。我已尝试执行此操作,但失败。在匹配1+个字符后,您可以使用字符类来包含所有的分隔符,这些字符与除否定字符类中的分隔符以外的任何字符都匹配:
var str='File/path/to/a/File.js';
设arr=str.match(/[^\/.?!]+(?:[\/.?!]\$)/g);
控制台日志(arr)代码>在匹配1+个字符后,您可以使用字符类来包含所有的分隔符,这些字符与除否定字符类中的分隔符以外的任何字符相匹配:
var str='File/path/to/a/File.js';
设arr=str.match(/[^\/.?!]+(?:[\/.?!]\$)/g);
控制台日志(arr)代码>您可以使用:让arr=str.match(/[^\/.?!]+(?:[\/.?!].$)/g)代码>您可以使用:让arr=str.match(/[^\/.?!]+(?:[\/.?!].$)/g)代码>