正则表达式入门学习(一)
一.正则表达式的定义
又称规则表达式。(英语: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)
参考文章: