美文网首页IT修真院-前端
【北京分院第121期】正则表达式简单入门

【北京分院第121期】正则表达式简单入门

作者: ximu | 来源:发表于2017-05-29 00:26 被阅读0次

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

今天给大家分享一下,js-任务2,相关的正则表达式。

1.背景介绍

什么是正则表达式?

一个正则表达式(规则表达式 regular expression)可以认为是一个集合,这个集合是用一些描述来定义的。 比如“一个仅由数字组成的字符串,个数至少6个,最多24个”。

这样的描述电脑不懂,外国人也不懂。因此需要用更简洁的描述来表达。现在用“\d”表示一个0-9之间的数字,用{5,24}表示个数5-24个, 描述就成了"\d{5,24}",这就是一个正则表达式

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

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

1,搜索:把符合规则的内容,批量找出来,比如从一篇文章中搜索其中的数字

2,验证:检查一串字符串是否符合特定规则,比如表单里的手机号,邮箱

正则表达式的规则

1 任何字符串都是一个天然的正则表达式,比如“mall”,它可以用来在一篇文章中,搜索出所有的“mall”。

2 规则的描述的方式也可以用列举,比如:[1,2,5,8],数学上,它就表示这4个数字中的一个,在正则表达式中,可以用“1|2|5|8”来表示。

3 这则表达式本身只是一个数据集合的描述,必须配合代码才能使用,js原生支持一些匹配正则表达式的方法。 4 正则表达式引擎,识别正则表达式时有一定的规则,但是现在不必在意。

2.知识剖析

正则表达式的语法

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

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

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

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

3.常见问题

如何写一个正则表达式

如果用一个正则表达式

4.解决方案

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

1 开头和结尾:^$

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

3 限制:^(\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()方法

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

5代码演示:

见视频

7.参考文献

一篇日报

百度百科

菜鸟教程

8.更多讨论

PPT:https://ptteng.github.io/PPT/PPT/js-04-regular-expression.html


正则表达式简单入门_腾讯视频

技能树.IT修真院

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

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

或者你可以直接点击此链接:邀请码:6039

相关文章

网友评论

    本文标题:【北京分院第121期】正则表达式简单入门

    本文链接:https://www.haomeiwen.com/subject/kuckfxtx.html