很抱歉问新手问题,但我已经研究了几个小时,我发现正则表达式对我来说太难了。
我正在尝试将某些内容与前视和后视相匹配,并将逗号插入到这些数字中。
假设首先尝试将
ABC2345.67DEF
中的数字与 (?<=ABC)(.*?)(?=DEF)
进行匹配
但是我想在点之前插入一个逗号 3 位数字,如下所示
2,345.67
而不是2345.67
任何帮助将不胜感激
您需要从字符串中提取数字,然后在数字中添加逗号。为此,我更新了您的旧正则表达式以提取数字。然后,使用另一个正则表达式插入逗号。我提供我的代码。
const test = 'ABC2345.67DEF';
const result = test.match(/(?<=ABC)(\d+)(\.\d+)(?=DEF)/);
const numbersBeforeDecimal = result[1].replace(/\B(?=(\d{3})+(?!\d))/g, ",");
const numbersAfterDecimal = result[2];
const updatedResult = `ABC${numbersBeforeDecimal}${numbersAfterDecimal}DEF`;