美文网首页IT修真院-前端
【北京 · 一百二十九期】正确使用正则表达式

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

作者: a1e6062f15ce | 来源:发表于2017-05-30 22:14 被阅读12次

    大家好,我是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免费指导。快来与我一起学习吧 !

    快点我!!!!!

    相关文章

      网友评论

        本文标题:【北京 · 一百二十九期】正确使用正则表达式

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