用正则表达式除去属性字符串中数字前面的0
原文发布时间:2015-02-11 09:03:48
作者:lkfree
前段时间,遇到需要去除属性字符串中数字前面的0的问题,例如我有许多土地证书,其中含有一个属性为“土地证书号”,
| |
分隔“分支”(或选项) |
* |
0个或多个其之前的匹配的顺序序列 |
+ |
一个或多个其之前的匹配的顺序序列 |
? |
0个或一个其之前的匹配 |
. |
匹配任何单个字符 |
^ |
匹配开头的值 |
$ |
匹配结尾的值 |
[ ] |
附上一组字符选项 |
( ) |
包含某个子表达式——无论匹配的每个子表达式被放入到的 “Matched Parts Attribute”{} 列表属性。 |
a |
能够列入可匹配的任意字符 |
例如:
^A |
表示与任意A开头的值匹配 |
^[0-9] |
表示与任意数字开头的值匹配 |
^[0-9]+$ |
表示与任意专有数字组成值匹配 |
^(beef|chicken)$ |
表示与包含“beef” 或 “chicken”的值匹配 |
^([0-9]*) ([0-9]*)$ |
表示与两个被空格分隔的整数匹配,然后将 第一个数字输入到 “Matched Parts Attribute”{0}, 第二个数字输入到 “Matched Parts Attribute”{1} |
^N([0-9][0-9])[.]([0-9][0-9])[.]([0-9][0-9]) |
匹配 N23.45.11 并使 23 放入 “Matched Parts Attribute”{0}, 45 放入 “Matched Parts Attribute”{1}, 11 i放入 “Matched Parts Attribute”{2} |
正则表达式字段也可以包含任意数量指定字符。
这里我们用到的正则表达式为:[.0-9]+,判断字符串中是否含有一个或多个数字。详细模板如下(附下载):
此外,正则表达式是很有用的,这里列举一些常见的正则表达式:
1.验证数字的正则表达式集:
验证数字:^[0-9]*$
验证n位的数字:^\d{n}$
验证至少n位数字:^\d{n,}$
验证m-n位的数字:^\d{m,n}$
验证零和非零开头的数字:^(0|[1-9][0-9]*)$
验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$
验证有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$
验证非零的正整数:^\+?[1-9][0-9]*$
验证非零的负整数:^\-[1-9][0-9]*$
验证非负整数(正整数 + 0) ^\d+$
验证非正整数(负整数 + 0) ^((-\d+)|(0+))$
验证长度为3的字符:^.{3}$
- 验证字母的正则表达式
验证由26个英文字母组成的字符串:^[A-Za-z]+$
验证由26个大写英文字母组成的字符串:^[A-Z]+$
验证由26个小写英文字母组成的字符串:^[a-z]+$
验证由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$
验证由数字、26个英文字母或者下划线组成的字符串:^\w+$
验证中文汉字:^[\u4e00-\u9fa5],{0,}$
验证用户密码:^[a-zA-Z]\w{5,17}$ 正确格式为:以字母开头,长度在6-18之间,只能包含字符、数字和下划线。
验证是否含有 ^%&',;=?$\" 等字符:[^%&',;=?$\x22]+
验证Email地址:^\w+[-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
验证InternetURL:^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$ ;^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$
验证电话号码:^(\(\d{3,4}\)|\d{3,4}-)?\d{7,8}$:--正确格式为:XXXX-XXXXXXX,XXXX-XXXXXXXX,XXX-XXXXXXX,XXX-XXXXXXXX,XXXXXXX,XXXXXXXX。
验证身份证号(15位或18位数字):^\d{15}|\d{}18$
验证一年的12个月:^(0?[1-9]|1[0-2])$ 正确格式为:“01”-“09”和“1”“12”
验证一个月的31天:^((0?[1-9])|((1|2)[0-9])|30|31)$ 正确格式为:01、09和1、31。
整数:^-?\d+$
非负浮点数(正浮点数 + 0):^\d+(\.\d+)?$正浮点数 ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$
非正浮点数(负浮点数 + 0) ^((-\d+(\.\d+)?)|(0+(\.0+)?))$负浮点数 ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$
浮点数 ^(-?\d+)(\.\d+)?
若对文章有疑问,可发送邮件至[email protected]提问或讨论。