为数值添加逗号

-- Start

假设现在你有一些像下面这样的数字,你想为它们从右到左每四位添加一个逗号,从而使它们可读性更好,该怎么办呢?

1234567890

也许你觉得,下面的办法可以解决问题:

在 EmEditor 中Ctrl+H 调出Replace 对话框,在 Find 中输入(\d\d\d\d),在 Replace With 中输入\1,。不过遗憾的是结果变成了这个样子:

1234,5678,90

因为正则表达式是从左到右处理的。

这个问题的难度真的是很大,我们这样来分析,我们需要在数字中这样的位置插入逗号,它的左边必须有数字,而它右边的数字必须是4的倍数。那么怎么才能找到这样的位置呢? 还记得匹配位置的元字符有哪些吗?呵呵,事实上,用环视元字符解决这个问题是非常简单的,试一试下面的表达式吧。

在 EmEditor 中Ctrl+H 调出Replace 对话框,在 Find 中输入(?<=\d)(?=(\d\d\d\d)+$),在 Replace With 中输入,

哇,这个表达式真的是太神奇了,你看懂了吗?

--更多参见:正则表达式精萃
-- 声 明:转载请注明出处
-- Last Updated on 2012-04-29
-- Written by ShangBo on 2012-04-29
-- End


你可能感兴趣的:(正则表达式)