如何在具有正则表达式的特定字符之前选择除最后两个之外的所有多个空格?

这是一个示例字符串:


   Lorem ipsum   

         - dolor sit amet consectetur      

    - adipisicing elit. Adipisci, quam.     

什么是最优雅的正则表达式选择所有额外的空格除了“ - ”之前的两个空格,以制作一个优雅的列表?


这是一个期望的结果示例:


Lorem ipsum

  - dolor sit amet consectetur

  - adipisicing elit. Adipisci, quam.

这是我最好的猜测:/ {2,}(?! {2}-)/g. 可悲的是,它还在“ - ”之前选择了两个空格。


编辑:我想我会跟随这个:


let str = `       Lorem ipsum   

             - dolor sit amet consectetur      

        - adipisicing elit. Adipisci, quam.   `;

str = str.replace(/ {2,}/g, "");

str = str.replace(/-/g, "  -");

console.log(str);


青春有我
浏览 636回答 2
2回答

吃鸡游戏

您可以使用捕获组let str = `Lorem ipsum           - dolor sit amet consectetur        - adipisicing elit. Adipisci, quam.  `let finalList = str.replace(/^\s*(\s{2}.*)$/gm, '$1')console.log('original list\n',str)console.log('New list\n',finalList)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript