常用正则表达式整理分析

正则表达式适用于:
字符串处理,
表单验证,
替换等。


数字相关:

1 数字:

^[0-9]*$ 或者 ^\d*$
分析:  ^ 匹配字符串的开始; $ 匹配字符串的结束; 
[0-9]代表的含意与\d一致:一位数字; *重复零次或者更多次;

2 n位的数字:

^\d{n}$
分析:  ^ 匹配字符串的开始; $ 匹配字符串的结束; \d 一位数字; {n} 重复n次数;

3 至少n位的数字:

^\d{n,}$
分析:  ^ 匹配字符串的开始; $ 匹配字符串的结束; \d 一位数字;
       {n,} 重复n次或者更多次;

4 m-n位的数字:

^\d{m,n}$
分析:  ^ 匹配字符串的开始; $ 匹配字符串的结束; \d 一位数字; 
       {m,n} 重复m到n次;

5 零和非零开头的数字:

^(0|[1-9][0-9]*)$
分析:  ^ 匹配字符串的开始; $ 匹配字符串的结束; 0 字符; 
 [1-9] 1到9得一位数字; [0-9]一位数字;  * 重复零次或者多次;

6 非零开头的最多带两位小数的数字:

^([1-9]\d*)+(\.[0-9]{1,2})?$
分析:  ^ 匹配字符串的开始; $ 匹配字符串的结束; 0 字符;
 [1-9] 1到9得一位数字; \d 一位数字;  * 重复零次或者多次;
 + 重复一次或更多次; \. 转义字符 . ; {1,2} 重复1到两次; ? 重复零或者一次;

7 带1-2位小数的正数或负数:

^(\-)?\d+(\.\d{1,2})$
分析:  ^ 匹配字符串的开始; $ 匹配字符串的结束; \- 转义连字号为字符; 
?重复零或者一次; \d 一位数字; + 重复一次或更多次;
 \. 转义字符 . ; {1,2} 重复1到两次; 

8 正数、负数、和小数:

^(\-|\+)?\d+(\.\d+)?$
分析:  ^ 匹配字符串的开始; $ 匹配字符串的结束; \- 转义连字号为负号;
 | 分枝条件; \+ 转义+为加号;? 重复零次或一次;  
 \d 数字; + 重复一次或多次; \. 转义 . 为小数点;

9 有两位小数的正实数:

^[0-9]+(\.[0-9]{2})$
分析:^ 匹配字符串的开始; $ 匹配字符串的结束;[0-9] 一位数字; 
 +重复一次或多次; \. 转义为小数点; {2} 重复两次

10 有1~3位小数的正实数:

^[0-9]+(\.[0-9]{1,3})$
分析:^ 匹配字符串的开始; $ 匹配字符串的结束;[0-9] 一位数字; 
+重复一次或多次; \. 转义为小数点; {1,3}重复1到3次; 

11 非零的正整数:

^[1-9]\d*$ 或 ^\+?[1-9][0-9]*$
分析:^ 匹配字符串的开始; $ 匹配字符串的结束;[1-9] 非零一位数字;
* 重复零次或者多次; +重复一次或多次; \+ 转义为加号;? 重复零次或者一次。

12 非零的负整数:

^\-[1-9][0-9]*$ 或 ^\-[1-9]\d*$
分析:^ 匹配字符串的开始; $ 匹配字符串的结束;[1-9] 非零一位数字;
* 重复零次或者多次; \- 转义为建减号;

13 非负整数:

^\d+$ 或 ^[1-9]\d*|0$
分析:^ 匹配字符串的开始; $ 匹配字符串的结束;[1-9] 非零一位数字;
* 重复零次或者多次; +重复一次或多次;|分枝条件或者;

14 非正整数:

^\-[1-9]\d*|0$ 或 ^(\-\d+)|0$
分析:^ 匹配字符串的开始; $ 匹配字符串的结束;\- 转义为负号;
[1-9] 非零一位数字;\d 一位数字; * 重复零次或者多次; 
+重复一次或多次;|分枝条件或者;

15 浮点数:

^(\-?\d+)(\.\d+)?$
分析:^ 匹配字符串的开始; $ 匹配字符串的结束;\- 转义为负号;
? 重复零次或者一次;\d 一位数字; +重复一次或多次; 
\. 转化成小数点; * 重复零次或者多次; 

16 正浮点数:

^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$
分析:[1-9] 非零一位数; \d 一位数字; \. 转义为小数点;
 | 分枝条件或者; * 重复任意次; 

17 负浮点数:

^\-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ 
分析:\- 转义为减号; [1-9] 非零一位数; \d 一位数字;
\. 转义为小数点; | 分枝条件或者; * 重复任意次; 

18 非负浮点数:

^\d+(\.\d+)?$ 或 ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$
分析:^ 匹配字符串的开始; $ 匹配字符串的结束;\d 一位数字;
\- 转义为负号; +重复一次或多次 ; \. 转义为小数点;
[1-9] 非零一位数字; * 重复零次或者多次;;|分枝条件或者;

19 非正浮点数:

^((-\d+(\.\d+)?)|(0+(\.0+)?))
分析:^ 匹配字符串的开始; $ 匹配字符串的结束;\d 一位数字;
\- 转义为负号; +重复一次或多次 ; \. 转义为小数点;

20 匹配tx QQ号:

[1-9]\d{4,}
分析:txQQ号从10000开始
    [1-9] 1到9的数字; \d 一位的数字; {4,} 
    重复4次或者更多(假设不知道txQQ最多几位)

21 匹配中国邮政编码:

[1-9]\d{5}(?!\d)
分析:中国邮政编码为6位数字
 (?!\d) 匹配后面跟的不是数字

字符相关:

1 匹配中文字符

[\u4e00-\u9fa5]
分析:\un 匹配 n,其中 n 是一个用四个十六进制数字表示的 Unicode 字符。
中文范围[ \u4e00-\u9fa5]

未完待续(字符 网址ip 其他等等)


如有错误,欢迎指出。
可以在下方留言, 或加我QQ:812123870,
或者发邮件:dxmdxm1992@gmail.com


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值