正则表达式适用于:
字符串处理,
表单验证,
替换等。
数字相关:
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