当前位置: 首页>大数据>正文

正则表达式——断言

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

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

'我爱你 我爱 爱 爱你'.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.xamrdz.com/bigdata/74g1896345.html

相关文章: