-- 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