一。何为正则表达式?
首先,我们先来回答一个问题,就是如何向一个人介绍什么是邮箱?(单纯的回答)
我们可能会这样说,只要满足:首先是一串英文或数字或下划线。然后是@符号,在然后是一串英文或数字,其次是 . 最后是一串英文。
例如:1213@qq.com 就是一个qq邮箱
这是我们向别人的中午介绍。但是计算机并不认识。我们需要写一种能让计算机认识的规则。即正则表达式。
简记为:一种计算机认识的语言规则(一种告诉计算机的规则),计算机按照这个规则(满足某种要求的规则)去操作字符串。
二。几个方法。
第一个,search()方法:返回我们指定要求的东西所在的位置。
第二个,match()方法:把匹配到的东西全部提取出来,并装在数组中。 gloab:找到全部。
量词:简单理解为:个数。
第三个,replace()方法,替换指定字符串中的指定字符。
第四个,test()方法,检验字符串是否符合该正则的要求。格式为:正则.test(字符串) 返回值有true:表示合法 false:表示不匹配。但是有一个问题就是test()方法只要其中一部分符合要求则放回true.需要使用行开始符^ 和行结束符$.
^:(1)出现在方括号中表示排除。(2)不在的话表示行首。
$:行结束符。
三,方括号
(1)表或:[abc]表示:或者出现,或者b出现,或者c出现。
(2)表范围:[a-z0-9] 表示:a-z或者0-9任意一个。
(3)表排除:[^a-z]表示:除了a-z的任意字符。
三,转义字符-----某个符号表示某种含义
(1) |:表示“或者”的意思
(2)\d:等同于[0-9] :表示0到9任意一个。 \D:等同于[^0-9]:表示除了0到9任意一个。
(3)\w:等同于英文,数字,下划线 [a-z0-9_]任意一个。\W等同于[^a-z0-9_].
(4)\s:空白字符。不可打印。\S:非空白
(5).:表示任意字符 不建议使用。
四。量词:个数。
(1){n}:正好出现n次。
(2){n,m}最少出现n次,最多出现m次。
(3){n,}:最少n次,最多不限。
(4)+:最少一次 等同于 {1,}
(5)?:{0,1}
(6)*:等同于{0,}
五,圆括号():用来分组的。