【问题标题】:Regular expression pattern matching for number,alphabetcic blocks数字、字母块的正则表达式模式匹配
【发布时间】:2012-05-22 04:35:53
【问题描述】:

我有一些这样的字符串

aa11b2s
abc1sff3
a1b1sdd2

等等…… 我需要将这些字符串更改为这些

aa 11 b 2 s
abc 1 sff 3
a 1 b 1 sdd 2

简单地说..我需要在每个(数字/字母)块之间添加一个空格

【问题讨论】:

    标签: javascript jquery regex pattern-matching


    【解决方案1】:
    var str = 'aa11b2s'.replace(/([a-z]+|\d+)(?!$)/gi, '$1 ');
    

    【讨论】:

      【解决方案2】:
      var str = 'aa11b2s';
      console.log(str.replace(/([\d.]+)/g, ' $1 ').replace(/^ +| +$/g, ''));
      

      【讨论】:

      • 如果我使用 aa11b2.5s 它会得到 aa 11 b 2 。 5 s 我不想要小数之间的空格..hw 我可以省略吗
      【解决方案3】:
      result = subject.replace(/[a-z](?=[0-9])|[0-9](?=[a-z])/ig, "$& ");
      

      这匹配一个后跟一个数字的字母,或者一个后跟一个字母的数字,而不消耗第二个字符。然后它将第一个字符替换为相同的字符,后跟一个空格。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-04-06
        • 1970-01-01
        • 2011-08-29
        • 1970-01-01
        • 2010-09-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多