正则表达式匹配指定范围数字及各种常用例子
ATL正则库参考:http://www.codeproject.com/Articles/13320/Using-Regular-Expressions-in-MFC 一、写一个正则表达式,用来匹配1~4095的数字。 现在就以这个为例,说一下表示范围的正则怎么写。 1、只有1~3位数字,即数字范围:1~999。 分析:第1个数字是1~9,后面的可以出现0~9的数字,最多2位。于是,就有了下面的字符串: "[1-9]d{0,2}+" 2、4位数的,要小于等于4095,即数字范围:1000~4095。 分析:第1位,可以是1~4;第2位,依赖第1位,当第1位是4的时候,第2位只能是0;同理,第3位依赖第2位;第4位依赖第3位。所以,就有了以下代码: "[1-4]d(?<!4[1-9])dd(?<!409[6-9])" 这里用的是非捕获(?<!X)X,通过零宽度的负 lookbehind 来实现的。 二、 验证数字:^[0-9]*$ 三、 "[1-4]d(?<!4[1-9])dd(?<!409[6-9])" 字符 (experssion) 转载自:http://lippeng.iteye.com/blog/1038986 http://www.cnblogs.com/ly5201314/archive/2008/09/04/1284139.html (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |