正则表达式专用符号解释
(例子中会细讲)
^ 字符串的开始 $字符串的结束
*匹配前面的子表达式 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
转载请注明原博客作者,博客链接