码迷,mamicode.com
首页 > 其他好文 > 详细

正则表达式

时间:2018-10-20 18:38:17      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:符号   小数   大括号   逗号   多个   转移   需要   获取   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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!