gpt4 book ai didi

javascript - 连接前瞻正则表达式并保留(所有)分隔符?

转载 作者:行者123 更新时间:2023-12-01 01:54:39 24 4
gpt4 key购买 nike

现在,我的正则表达式会遍历字符串并按 / 的出现将其拆分,将斜杠保留在数组中。

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';
let arr = str.match(/[^\/.?!]+(?:[\/.?!]|$)/g);

console.log(arr);

关于javascript - 连接前瞻正则表达式并保留(所有)分隔符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51137935/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com