怎么学习正则表达式?(正则的使用心得)

之前使用正则是不会本身去学或者去了解怎么实现正则的语法的,感受好难懂的样子,因而拖到如今前端

 

其实正则不是我想象中的那么难,至少入门仍是比较简单。我刚学习了一些比较简单的,谈谈我对正则的理解以及使用心得,但愿能帮助你们git

 

一、学习正则的话 ,正则手册必须看的,了解经常使用的字符含义,这样在学习或看或写的时候,才不会以为(哇,这什么鬼啊,为何这么多括号中括号大括号, 这一串串的真是是规则吗?会不会是别人乱写的。)正则表达式

二、大体看了一下手册了以后,我以为应该看一下关于正则教程的视频,图文音并茂,这样才更容易让人理解这是什么东西,而后跟着作一下。安全

三、看了视频了解简单的正则简单的写法就能够写一下简单的规则了。好比说验证日期、价格、年龄等,这些都是项目比较经常使用的且简单的正则验证。前端工程师

 

最后我举一个简单的例子工具

QQ号的验证:学习

一、首先,要写验证的话,就必须了解你验证的这个有什么样子的规则。网站

QQ号是大多数人的青春,我相信绝大多数人都比较熟悉,那么它的规则估计并非全部人都清除。spa

首先,腾讯刚开始发布QQ号的时候是从1开始的,也就是世界上第一个QQ号是1。可是为了安全等等缘由,腾讯收回了4位数及更少的QQ号码,只留下了10000开始的QQ号,因此腾讯的QQ号最小是10000,最大位置,也就是说只要比10000大的数字均可以。再者,QQ号有了一个最小数,那是否是用QQ号>10000就是QQ号了呢?好比:QQ号>10000。翻译

其实否则,由于n个0加上10000+也是大于10000的,好比00010001,可是这个数字不是QQ号。因此第一个数字不能为0,这就是QQ号的全部规则了,是否是很简单。(很差意思,废话多了)

 

二、写规则

既然咱们知道了规则,就是开始写规则了,规则拆开写,三个规则,第一:QQ号必须是数字组成,第二:第一个数字不为0且是一位数,取值范围1-9,第三,QQ号位数至少是五位数。

[1-9]:[]表示一个字符的一个范围,1-9表示只能取大于等于1,小于等于9的数字。

[0-9]:由于第二个数字开始,数字就能够取值为0了,因此取值0-9

{4,}:{}表示长度,可取两个值,第一个是最小长度(必填,非负数),第二个是最大长度(选填),中间用逗号隔开,第二个不填表示无上限。QQ号为5位数,因此第一位后面须要至少有4个数字。

最后连起来就是[1-9][0-9]{4,}。若是只是验证某一个参数是否是QQ号,就须要规定何时开始何时结束,否则只要一串字符串里面连起来有符合规则的都会经过。

正则中 ^ 表示开始, $ 表示结束,为了验证某一个参数是否是QQ号,最后规则为: ^[1-9][0-9]{4,}$   ,表示这个参数里面必须以1-9的数字开头,以0-9的数字结尾,不然通不过验证。

最后  \d 等价与  [0-9] ,规则也能够写成 ^[1-9]\d{4,}$

 

 ----------------------------------------------分割线-------------------------------------------------------

 

新增:学习正则的时候能够用下这个网站,你输入的正则均可以很直观的给你解释这个正则表达的是什么意思,好比:

只要你输入一个正则表达式,不管有没有//来分割,只要是正确的格式,均可以给你解释。(digit中文是“数字”的意思,估计这个老外写的工具,因此所有都是英文

若是和我同样看不懂英文 ,就ctrl+c ctrl+v ,在百度翻译里面找答案吧,哈哈)

 

当你输入一个错误的格式的时候,就会显示如图

很是好用的一个工具, 你们学习或者看别人写的正则的时候,能够借助这个工具,祝各位早日掌握正则。

 

总结:正则验证十分强大,入门简单,适用于各类语言,多学一点,后面少苦恼一点。勤学苦练,终能成大事,但愿各位一块儿学习、进步。

 

我是刚入门不久的前端工程师,内容写的可能不是那么精简、清楚,我会慢慢改进排版以及内容,但愿各位多多指点,多多支持,谢谢

(ps: 若是有刚加入前端这个行业的,比较迷茫的同窗,欢迎进群交流,但愿不嫌弃的同行或者大佬加群你们一块儿交流,相信将来会更好,群号:815957915)

相关文章
相关标签/搜索