首页 > 其他 > 详细

一次性搞定正则表达式

时间:2015-12-23 05:14:25      阅读:181      评论:0      收藏:0      [点我收藏+]

一次性搞定正则表达式

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????——我一直不太信任自己的记忆力,所以我把它们都写下来?

? ?

? ? 从学java开始就在接触正则表达式,然后一直都没有精确的掌握它,今天有一个正则表达式的需求,然后又花了半小时梳理了下。下面我们一步一步开始(请仔细记清楚一步步的操作,否则你都不想往下看了 ),推荐大家打开http://tool.oschina.net/regex/ 在线正则表达式边看边测试

?

  • ^$表示以字符串开始和以字符串结尾。例:^abc 表示必须以abc开始(如:abcd,abcefd),abc$ 表示必须以abc结尾(如:);^abc$?只能是abc(abc是个整体,abcabc不匹配) ;abc?表示包含abc的字符串
  • * + 和???分别表示出现0次或多次,1次或多次,0次或1次。例:abc*表示有0个或多个abc,其他两个同理
  • 上面的*+?完全可以用范围代替,abc{2}表示ab后面有至少两个c,如abcc,dfdabccccc都是符合的;abc{2}$ 只有以abcc结尾的符合,如343abcc ??
  • abc{1,2} 表示ab后面跟着1或2个c;
  • abc{3,} 表示ab后面跟着至少3个c; {,3}这种是不正确的
  • | ?或运算 ?ab|cd 表示字符串里有ab或者cd;
  • . 可以替换任意字符

下面是几种是需要记住的

"[ab]":表示一个字符串有一个"a""b"(相当于"a|b");
"[a-d]"
:表示一个字符串包含小写的‘a‘‘d‘中的一个(相当于"a|b|c|d"或者"[abcd]");
"^[a-zA-Z]"
:表示一个以字母开头的字符串;
"[0-9]%"
:表示一个百分号前有一位的数字;
",[a-zA-Z0-9]$"
:表示一个字符串以一个逗号后面跟着一个字母或数字结束。

?

下面看看具体的实例,比如我今天做的:一个输入框,可以输入数字,也可以输入多个数字用逗号隔开,或者两个数字用~分隔。

? ? ??我写的正则表达式 : ?((^[0-9]+[~]?)?|^([0-9]+[,])+)[0-9]+$

一次性搞定正则表达式

原文:http://zyqwst.iteye.com/blog/2265817

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!