- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
正则表达式实例--详细分析
三十九个正则表达式
这是我的分析,由于学的不好,可能分析的不是很好。希望大家多多指正。谢谢~~
-----------写在前面的话
1、非负整数:^\d+$
解析:
/d:指0~~9,+表示 一个以上,形如{1,}。
故表示以什么什么开始,以什么结尾。这个什么什么指,0~9这十个数出现1个以上,则匹配成功。
让一个字符串既作为开始又要作为结束,暗示了要求这个字符串必须是十进制数字组成的。因为没有符号,没有小数点。很显然是非负整数(可以有0)。
正整数:^[0-9]*[1-9][0-9]*$
解析:
0需要单独的独立出来,牵涉到了数字0;
为了要开头都是【0-9】*呢?
因为,可以要求数字是如:003;
为什么又可以有多个,也可以没有呢?
因为可以这样的,如:340...
字符串匹配要求,至少要包含一个0~9之间的一个数字。
那为什么结尾要求可以包含0~9呢?
因为可以有这些数字,如10,102,1002,1030等等数字。
3、非正整数:^((-\d+)|(0+))$
解析:非正整数包括0与负整数。所以该模板有两个选择。
(0+)可以包含多个0。如0,000。等等
(-\d+)要求1个符号和多个十进制数字。
开始^与结尾都是针对同一个字符串的。即:对同一个字符串的要求。
负整数:^-[0-9]*[1-9][0-9]*$
解析:负整数有-和0~~9组成。
- 对符号做了要求,一定要开头。
中间同上例,可以是-002,也可以是等了。可以有多个零的出现。
5、整数:^-?\d+$
解析:整数有正数、负数和0之分。而负数牵涉到了符号问题。
故开头,^-? 要求要么有且只有一个“-”,要么没有。
\d.要求数字是十进制数字,数量上至少 有一个。结尾自然也是它了。
6、非负浮点数:^\d+(\.\d+)?$
解析:非负浮点数主要有整数部分、小数部分(可有可无)、和小数点(可以有也可以没有)组成。
^\d+ 有1个以上的十进制数字,以它做开头。
\.\d+ 对点进行了转移,因为在元子符中点是有意义的。要求有小数点。
\d+ 要求十进制数字得有一个以上。
(\.\d+)? 对(点和十进制数字)要求是要么有一个,要没没有。相当进行选择。浮点数怎么能有两个小数点呢?大家见过200.32.25这样的浮点数吗?
(\.\d+)?$ 让他作为结尾部分。
7、正浮点数:^((0-9)+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)| ([0-9]*[1-9][0-9]*))$
解析:
这个模式的设计思路是讲 浮点数分成了三种形式:
整数部分是0的,小数部分是0的,以及不带小数点的。
观察知道,^与$针对同一个字符串,所以中间是对字符串的要求了。
|表示分支结构。因此这里面有三个选项。可以选择任何一种。
(0-9)+\.[0-9]*[1-9][0-9]*) ([0-9]*[1-9][0-9]*\.[0-9]+)
([0-9]*[1-9][0-9]*)
下面一部分一部分分析。
分析第一部分:
(0-9)+ 0~~9这是个十进制数字,至少有一个。
\. 表示小数点。
[0-9]*[1-9][0-9]* 前面说过了。举几个实际的例子。0003000,402446都行。
把这个式子综合起来,大致表示如下。
03566.45055。。但不能是这种形式的。5.000。可以是0.1224等等了。
分析第二部分:
跟前面差不多。不再冗述了。但不能是这种形式。0.1224.可以是5.000。。
分析第三部分:
直接是正整数了,没有小数点。
非正浮点数:^((-\d+\.\d+)?)|(0+(\.0+)?))$
解析:
针对同一个字符串来进行匹配的。有两个分支结构进行选择。负浮点数和0浮点数。
第一部分,(-\d+\.\d+)?:
组成部分: 符号- ;;;十进制数字,至少一个;;;小数点.;;;十进制数字,至少一个;;;如:321.123
第二部分,(0+(\.0+)?):
组称部分: 0,至少一个,多不上限;;;
(\.0+),,小数点 加上多个0,至少 一个。如:0.000;;000.00;
这个貌似有点缺点、好像要求必须有小数点了。
9、负浮点数:^(-((正浮点数正则式)))$
解析:不冗述
英文字符串:^[A-Za-z]+$
解析:
开头与结束都针对同一个字符串。
[A-Za-z]+,从大小字母中选择字符,不限制数量。但至少得有一个。
英文大写串:^[A-Z]+$
解析:
开头与结尾都针对同一个字符串。
[A-Z]+,至少得有一个大写字母。
英文小写串:^[a-z]+$
解析:
不冗述了。
文档评论(0)