正则表达式入门学习(一)

一.正则表达式的定义

又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。

 

二.正则表达式的应用场景

常见用在邮箱格式验证,手机电话号码验证等处。

 

三.正则表达式的入门示例

示例:验证邮箱格式是否正确

^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+\\.[a-zA-Z]{2,4}

 

分解:

1.^ 代表正则表达式判断从此处开始

2.[a-zA-Z0-9_-] 方括号[]表示集合,[a-z]代表是小写字母a-z这个区间内的字符都是合法的,多个区间和特定字符都可以直接写在一起作为条件,该语句代表a-z、A-Z、0-9、_和-都为合法字符

3.+ 代表重复判断一次或多次,前面集合只是针对一个字符进行判断,邮箱通常都是多个字符组成的字符串,因此需要多次判断

4.@ 代表出现@符号停止前面的重复判断

5.[a-zA-Z0-9_-]+ 与3,4相同,判断邮箱@后面跟随的邮箱服务商名

6.\\. 代表出现.符号停止前面的重复判断

7.[a-zA-Z]{2,4} 大括号{}表示重复,{2,4}代表重复2到4次,用来判断邮箱的最后一段尾缀,例如com

 

四.元字符

1.元字符(metacharacter)是正则表达式规定的一个特殊代码,代表着单词的开头或结尾,也就是单词的分界处。虽然通常英文的单词是由空格,标点符号或者换行来分隔的,但是\b并不匹配这些单词分隔字符中的任何一个,它只匹配一个位置。

2.示例:

\bhello\b 精确匹配所有hello单词,不包括ghello、hellow这种

\b\w{6}\b 匹配正好6个字符的单词或者字符串

^\d{5,12}$ 元字符^和$都匹配一个位置,这和\b有点类似。^匹配你要用来查找的字符串的开头,$匹配结尾。这两个代码在验证输入的内容时非常有用,因为使用了^和$,所以输入的整个字符串都要用来和\d{5,12}来匹配,也就是说整个输入必须是5到12个数字,因此如果输入的QQ号能匹配这个正则表达式的话,那就符合要求了。和忽略大小写的选项类似,有些正则表达式处理工具还有一个处理多行的选项。如果选中了这个选项,^和$的意义就变成了匹配行的开始处和结束处。

 

五.重复

1.这些符号指代正则表达式重复判断的次数。

2.示例:

Windows\d+ 匹配Windows后面一个或多个字符

^\w+ 匹配一行的第一个字符串或字符串

0\d{2}-\d{8} 前面匹配2个数字,后面匹配8个数字,常用来判断座机号码(022-23920661)

 

 

参考文章:

正则表达式30分钟入门教程

知乎:如何判断用户输入的邮箱格式是否正确?

 

posted @ 2017-02-10 15:35  嗷大张  阅读(208)  评论(0编辑  收藏  举报