常用的正则表达式(通俗易懂)

正则表达式专用符号解释

(例子中会细讲)

 ^ 字符串的开始  $字符串的结束  
*匹配前面的子表达式 0次 或者 多次
+匹配前面的子表达式 至少1次 或者 多次
?匹配前面的子表达式 0次 或者 1()用来分组,即把一组内容包括成一个整体 
[]写匹配字符串的内容  
{}写匹配的字符串长度
^[a-z]&

表示匹配字符串从开始到结束,并且长度只能是1,只匹配a-z的一个小写字母,同理可以换大写字母或者数字

a
true

z
true

t
true
^[a-z]{n}$

表示匹配字符串从开始到结束,并且长度只能是n,n>=0;只匹配a-z的一个小写字母,同理可以换大写字母或者数字
n=0是一直是false没有长度为0的字符串,无意义。例如

^[a-z]{3}$

输出

z
false

zt
false

azt
true
^ab$

只匹配ab字符串必须一模一样

a
false

b
false

ab
true

abc
false
^(a|b)$

表示匹配字符串a或者b,其他的都不行

a
true

b
true

ab
false

abd
false
^[^a-z]{3}$

^表示正则表达式的开始
^在[]里面时表示排除这些字符进行匹配,并且长度只能为3
实例

ad
false

azt
false

183
true

.15
true
^[a-z]{3,5}$

表示匹配a-z的小写字母,字符串长度范围只能是[3,5]

abc
true

abcd
true

abcde
true

abcdef
false
^abc*$

表示匹配*前面的子表达式0次或者多次,这里 *前面的子表达式为c,当字符串为ab时为true, abc也为true ,abccc…c也为true

a
false

ab
true

abc
true

abcccc
true
^abc+$

表示匹配+前面的子表达式1次或者多次,跟*不一样的是,+前面的字表达式c至少要匹配到1次才行!!!
这里 +前面的子表达式为c,当字符串为ab时为false, abc为true ,abccc…c也为true

ab
false

abc
true

abccccc
true

例如写一个以177或者188开头的手机号码(手机号码都是11位数)

^(177|188)[0-9]{8}$
12345678901
false

19912345678
false

18812345678
true

17712345678
true
^[0-9]+(.[0-9]+)?$
判断一个字符串是否为数字字符串-------(整数和小数都行)

?表示前面的子表达式只匹配0次(表示匹配整数)或者1次(表示匹配到小数)
(.[0-9]+) 表示 匹配到一个小数点.后,后面必须至少接1个数字 .0 或者 .1 或者 .789…都行, 不能只有小数点. 后面数字,这就不符合小数表示了

测试结果:

1a.6
false

123
true

456.
false

456.7
true

456.789
true

转载请注明原博客作者,博客链接

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值