最近处于工程尾期,抽出点时间来学习下工程中用到的知识点。
1.正则表达式作用:
它使用单个字符串来描述、匹配一系列符合某个语法规则的字符串。
举例:在很多文本编辑器里,正则表达式被用来检索、替换某些文字或字符串。
注意:当正则表达式和字符串函数都能解决问题时,尽量使用字符串函数,这样不容易出错,最重要的一点是字符串函数比正则表达式实现性能上要好得多。
2.正则表达式使用原因:
可以这么说,正则表达式能实现的,都能通过编程来实现,那么我们为什么还需要学习正则表达式呢?原因如下:
1>正则表达式能够在很大程度上简化编程实现的代码
2>用正则表达式去处理字符串,代码更容易理解
3>通常来说,正则表达式的速度远比自己写逻辑代码来实现功能要高得多(除非有现成的方法或者函数)
3.正则表达式构成
正则表达式由 文件字符 和 元字符 构成。文本字符即是用户需要匹配的内容;元字符是正则表达式中具有特殊意义的专用字符,它用来指定匹配规则。
4.基础正则表达式
. 与 [ ] 与 ^ 与 $ ,这四个称之为基础正则表达式,所有语言都支持这四个。正则表达式等价理解:
?,*,+,\d,\w都是等价字符
? 等价于 重复0次或者1次
* 等价于 重复0次或者多次
+ 等价于 重复1次或者多次
\d 等价于 [0-9]
\w 等价于 [A-Z或a-z或0-9或_或其它字符]
{n} 重复n次
{n,m} 重复n到m次
. 匹配除换行符以外的任意字符
\s 匹配任意的空白符
[ ] 包含,默认一个字符长度
[^]不包含,默认一个字符长度
[A-Za-z0-9] 26个大写字母、26个小写字母和0-9数字 中的一个
常用运算符与表达式
^ 匹配字符串开始
$ 匹配字符串结束
5.正则表达式语法与释义
基础语法 "^([ ]{})([ ]{})([ ]{})$"
正则字符串 = "开始 ([包含内容]{长度}) ([包含内容]{长度}) ([包含内容]{长度}) 结束"
6.正则表达式常见应用
1>验证用户名,要求
1.规定用户名第一个字符必须是字母
2.用户名长度为6到16位
正则表达式:("^[a-zA-Z]\w{5,15}$")
解释:
[a-zA-Z] 表示26+26个大小写字母中的一个,满足条件1(第一个字符必须是字符)
\w 表示字母或数字或下划线或其它字符
{5,15} 指定\w的长度为5位到15位之间,同时满足条件2(用户名长度在6到16位)
2>验证手机号码,要求
1.位数为11位
2.第一位必须是1
3.第2位在(3,4,5,7,8)这几个数字中选择一位
正则表达式:("^1[3|4|5|7|8][0-9]\\d{8}$")
疑惑,我的写法如下,不知道行不
("^1[3|4|5|7|8][0-9]{9}$")
刚测试了下,是可行的
3>验证身份证号码,这里只针对18位的
("^[1-9]{17},[0|1|x]{1}$")
结束,举了这么多的例子,查看者应该看懂了
//参考文章