标签:符号 小数 大括号 逗号 多个 转移 需要 获取 The
正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个‘规则字符串’用来表达对字符串的一种过滤逻辑。
给定一个正则表达式和另一个字符串,我们可以达到如下的目的:
1.给定的字符串是否符合正则表达式的过滤逻辑称作匹配
2.可以通过正则表达式,从字符串中获取我们想要的特定部分
正则表达式的特点是:
1.灵活性,逻辑性和功能性非常的强
2.可以迅速地用极简单的方式达到字符串的复杂控制
一、正则表达式基本语法:
两个特殊的符号^和$,他们的作用是分别指出一个字符串的开始和结束。
^the :表示所有以‘the’开始的字符串
cat$ :表示所有以‘cat’结尾的字符串
^dog$ :表示开始和结尾都是‘dog’的字符串
*表示出现的重复次数,0次到多次
+表示出现的重复次数,1次到多次
?表示出现的重复次数,0次到1次
ab* :表示一个字符串有一个a后面跟着0个或多个b (a,ab,abbb.....)
ab+ :表示一个字符串有一个a后面跟着至少1个或多个b (ab,abbb,abbbb.....)
ab? :表示一个字符串有一个a后面跟着0个或者1个b(a,ab)
a?b+$ :表示在字符串的末尾有0个或一个a后面跟着一个或多个b
你也可以使用范围,用大括号括起来,用以表示重复次数的范围
ab{2} :表示一个字符串有一个a跟着2个b(abb)
ab{2,} :表示一个字符串有一个a跟着2个或多个b(abb,abbb,abbbbb......)
ab{3,5} :表示一个字符串有一个a跟着3个到5个b(abbb,abbbb,abbbbb)
还有一个|,表示‘或’的操作
hi|hello :表示一个字符串里有hi或hello
(h|cd)ef :表示bef或cdef
(a|b)*c :表示一串a或b混合的字符串后面跟着一个c
可以替代任何字符:
a.[0-9] :表示一个字符串有一个a后面跟着一个任意字符和一个数字
^.{3}$ :表示有任意三个字符的字符串
方括号表示某些字符允许在一个字符串中的某一特定位置出现:
[ab] :表示一个字符串有一个a或b,相当于a|b
[a-d] :表示一个字符串包含小写的a到中的一个,相当于a|b|c|d或者[abcd]
^[a-zA-X] :表示一个以字母开头的字符串
[0-9]% :表示一个百分号前有个一位的数字
,[a-zA-Z0-9]$ :表示一个字符串以一个逗号后面跟着一个字母或数字结束
你也可以在放括号里用^表示不希望出现的字符,^应在方括号里的第一位
%[^a-zA-Z]% :表示两个百分号中间不应该出现字母
为了逐字表达,你必须在^.$()|*+?{}\这些字符前加上转移字符\
注意:方括号中不需要转义字符
二、校验数字的表达式
1.数字:^[0-9]*$
2.n位的数字:^\d{n}$
3.至少n位的数字:^\d{n,}$
4.m-n位的数字:^\d{m,n}$
5.零或非零开头的数字:^(0|[1-9][0-9]*)$
6.非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$
标签:符号 小数 大括号 逗号 多个 转移 需要 获取 The
原文地址:https://www.cnblogs.com/angelyan/p/9822345.html