美文网首页
正则表达式——断言

正则表达式——断言

作者: 甜点cc | 来源:发表于2022-06-17 14:44 被阅读0次

    有以下字符串: 我爱你 我爱 爱 爱你

    如果要取出字,要求这个爱字后面有,这个时候就要这么写,这就是 先行断言

    '我爱你 我爱 爱 爱你'.match(/爱(?=你)/g) // ["爱", "爱"]
    

    如果要求字后面没有,那自然也有先行否定断言

    '我爱你 我爱 爱 爱你'.match(/爱(?!你)/g) // ["爱", "爱"] ,因为匹配相同...
    

    这个时候,如果要求字后面有,前面还要有,那就要用到后行断言了,如下:

    '我爱你 我爱 爱 爱你'.match(/(?<=我)爱(?=你)/g) // ["爱"]
    

    最后,如果要求爱字前面没有我,后面也没有我,那就要用到先行否定断言后行否定断言,如下:

    '我爱你 我爱 爱 爱你'.match(/(?<!我)爱(?!你)/g) // ["爱"]
    

    先行断言应用: 金额千分位分割

    所以正则表达式还是比较灵活的,接下来,让我们一起来瞅瞅正则表达式是如何来玩千分位的,上代码。

    // 就是说1-3位后面一定要匹配3位
    function formatMoneyWithReg(number) {
      return !(number + '').includes('.')
        ? 
          (number + '').replace(/\d{1,3}(?=(\d{3})+$)/g, (match) => {
            return match + ',';
          })
        : (number + '').replace(/\d{1,3}(?=(\d{3})+(.))/g, (match) => {
            return match + ',';
          });
    }
    console.log(formatMoneyWithReg(1243250.99));
    

    相关文章

      网友评论

          本文标题:正则表达式——断言

          本文链接:https://www.haomeiwen.com/subject/tjqhvrtx.html