一次性搞定正则表达式

一次性搞定正则表达式

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

   

    从学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]+$

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值