IT修真院-前端

【北京 · 一百二十九期】正确使用正则表达式

2017-05-30  本文已影响12人  a1e6062f15ce

大家好,我是IT修真院北京分院第20期的学员王野,一枚正直纯洁善良的程序员

今天给大家分享一下,修真院官网JS任务4,深度思考中的知识点——正则表达式

一、背景介绍

1、什么是正则表达式?

正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。

2、正则表达式可以用来做什么?

几乎任何编程语言都支持正则表达式;

给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”)可以通过正则表达式,

从字符串中获取我们想要的特定部分。

3、正则表达式的规则

任何字符串都是一个天然的正则表达式,比如“mall”,它可以用来在一篇文章中,搜索出所有的“mall”。
规则的描述的方式也可以用列举,比如:[1,2,5,8],数学上,它就表示这4个数字中的一个,在正则表达式中,可以用“1|2|5|8”来表示。 这则表达式本身只是一个数据集合的描述,必须配合代码才能使用,js原生支持一些匹配正则表达式的方法。

正则表达式引擎,识别正则表达式时有一定的规则,但是现在不必在意。

二、知识剖析

正则表达式的语法:

元字符:用简单的字符代表一个集合:如“\w”代表单词,“^”代表一串字符的开始,“\b”代表单词两边的间隔,等


转译“\”:"d"是个字母,“\d”就表示任何数字,“\\d”被转译两次抵消了,表示“\d”这个两个字符串类型的字符

范围和个数:[]表示范围,如[a-e]表示abcde五个字母中的一个,

{}表示范围,如{3}表示3个,{3,}表示3个及以上,{3,5}表示3个以上,5个及以下

三、常见问题

如何书写正则表达式

使用正则表达式验证邮箱

使用正则表达式验身份证号

四、解决方案

如何写一个正则表达式(6-18之间的一个数字)

开头和结尾:^$

内容:^(\d)|(1\d)$、

限制:^(\d[6-9])|(1\d[0-8])&

在js里的写法

正则表达式也是一个字符串,知识有特定的格式;在js中,字符串的格式是:
/正则表达式正文/,也就是套在//之间。

window.RegExp("^\\b[6-9]$","g")

/^\b[6-9]$/g

js的window.RegExp()方法,用于按照()内的字符串,生成一个正则表达式
实际上,不如直接手写:var reg="/^\b[6-9]$/g"

如何用一个正则表达式

js字符串的.search()方法

其它框架和插件,有利用正则实现不允许输入/提示错误等功能。

邮箱验证和身份证验证:

代码截图

五、扩展思考

正则表达式还可以用在哪些地方:

主要就是用在过滤信息和查找信息,其他的方面用的比较少。

六、参考文献

1、大佬日报

2、一篇博客

3、ppt地址

七、更多讨论

类似正则的方法


正确使用正则表达式_腾讯视频

------------------------------------------------------------------------------------------------------------------------

技能树.IT修真院

“我们相信人人都可以成为一个工程师,现在开始,找个师兄,带你入门,掌控自己学习的节奏,学习的路上不再迷茫”。

这里是技能树.IT修真院,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄1对1免费指导。快来与我一起学习吧 !

快点我!!!!!

上一篇下一篇

猜你喜欢

热点阅读