正则表达式的学习1基础学习

正则表达式的学习

1.什么是正则表达式?正则表达式是使用单个字符串,匹配一系列符合某个句法规则的字符串。

 

1.正则表达式中的一些特殊代码,也叫元字符。

\b  : 代表着但系的开头或者是结尾,作为单词的分界处

e.g.:正则表达式h i 会匹配到包含有hi两个连续字母的单词,像history him 而如果加上\b 使正则表达式变成\bhi\b那么就只会匹配到hi这个单词 (这句话我暂时还不能理解是什么意思)

 

.  : (英文半角句号) 匹配除了换行符以外 的任意字符

e.g.:正则表达式\ba.\b 匹配以 前边一个字符是a后边是一个除了换行符以外的任意字符的字符串,像aa、 ab、a_、a+ 这些都可以匹配到。

 

\d : 匹配一个数字(0-9)

e.g.:正则表达式0\d\d\d\d\9 匹配以0开头 以9结尾的 一串6个字符串的数字串,中间的四个数字可以是0-9 中的任意的数字,像 056789  043629等等

 

\w: 匹配字母或者数字或者下划线

e.g. :正则表达式 \w\w\w\w 匹配任意的四个字母数字下划线,像中文中的成语:或者是main void 这种四个字母的单词,或者是:6_a  b6这种杂交的类型

 

 

\s : 匹配任意的空白字符

 

 

匹配数量的来几个

 

*(星号) :重复0次或者多次

e.g.:正字表达式  a\d*匹配以字符a开头,后面跟着0个或者多个数字的字符串 a, a1,a123456都是符合条件的

 

+ :重复1次或者是多次 正则a\d+ 匹配的是以a开头,后边跟着1个或者是多个数字的  a1,a12233都是符合条件的 但是a就不符合条件了因为至少一个数字

 

? :重复0次 或1次   a\d? 匹配的是以字符a开头,后边跟着0个或一个数字的字符串  eg . a,a0

 

{n} :重复n次

比如我们的身份证一般来说是18位数字(实际上是复杂得多现在只是举一个例子),那么我们可以用\d{18}来匹配。

 

{n,} :重复n次或者是更多次

 

{n,m}: 重复n到m次 (最少重复n次 最多重复m次)

 

e.g.。QQ号的账号要求是5到12位,所以就可以用正则表达式\d{5,12} 来匹配

 

[]的使用:

[abcdef]这个正则表达式匹配abcdef中其中一个字母,【,?!】这个表达式匹配里边三个标点符号中的其中一个,我们也可以指定一个范围,【0-9】匹配0-9这个区间任何一个数字(包括0和9) [a-z]这里就是匹配a到z这区间任何一个数字 然后这几个区间组合在一起就是【0-9a-zA-Z】就是匹配这整个区间的其中一个字符或者是数字、

 

分支条件

我们的电话号码有两种形式,020-88899999  (020)88899999 要让这两种形式的写法都可以匹配我们就要写两种形式的正则表达式 匹配020-88899999就可以写成0\d{2}-\d{8}  匹配 (020)88899999就可以用(0\d{2})\d{8}来表示,如果要使用这两个正则表达式来匹配一个字符串那么就要用到或符号来链接他们 就可以写成0\d{2}-\d{8}|(0\d{2})\d{8}

posted @ 2017-06-01 10:34  狼狼a够  阅读(195)  评论(0编辑  收藏  举报