伍佰目录 短网址
  当前位置:海洋目录网 » 站长资讯 » 站长资讯 » 文章详细 订阅RssFeed

技术分享|关于正则表达式,你了解多少?

来源:本站原创 浏览:137次 时间:2021-08-12


关于正则表达式,你了解多少?
    • 大前端开发工程师入门实战——HTML+CSS+JS免费学习
    • 免费学习地址:
    • 一、什么是正则表达式
    • 二、JavaScript正则表达式
    • 三、修饰符和括号
    • 四、正则表达式模式
    • 五、RegExp对象
    • 七、HTML+CSS+JS免费实战学习



字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求几乎无处不在。比如判断一个字符串是否是合法的Email地址,虽然可以编程提取前后的子串,再分别判断是否是单词和域名,但这样做不但麻烦,而且代码难以复用。
正则表达式是一种用来匹配字符串的强有力的武器。它的设计思想是用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符串,我们就认为它“匹配”了,否则,该字符串就是不合法的。同时它也是独立于编程语言的一个学科,Javascriot提供了对于正则支持,此外,像Java、c、python也都支持正则。
本篇文章,我们将分享关于JavaScript的正则表达式,带你进入正则的世界!


一、什么是正则表达式

“正则表达式(Regular Expression)是用于描述一组字符串特征的模式,用来匹配特定的字符串。通过特殊字符+普通字符来进行模式描述,从而达到文本匹配的工具。“


正则表达式可以是单个字符,也可以是更复杂的模式。它可以用于任何类型的文本搜索和文本替换操作。例如:

  1. 验证:表单提交时,进行用户名密码的验证。
  2. 查找:从大量信息中快速提取指定内容,在一批url中,查找指定url。
  3. 替换:将指定格式的文本进行正则匹配查找,找到之后进行特定替换。
二、JavaScript正则表达式

在JavaScript中,正则表达式是一个描述字符模式的对象。在JavaScript的RegExp类中包含了正则表达式和针对字符串及正则所定义的方法。可以实现对文本执行模式匹配以及搜索和替换的功能。
语法:

//使用RegExp()构造函数将正则表达式定义为:var pattern = new RegExp(pattern, modifiers);//或更简单的方法var pattern = /pattern/mottributes;

  • Pattern(模式) ——描述了一个表达式模型;

  • Modifiers(修饰符)——描述了检索是否是全局,区分大小写等;

三、修饰符和括号
  1. 修饰符:用于执行不区分大小写和全局搜索。


让我们来看一个例子,看看如何在JavaScript中使用这些修饰符。
g修饰符:

let str = "This is the example";let pattern = /is/g;`在这里插入代码片`

输出结果为:

is,is

i修饰符:

let str = "Hello World";let pattern = /hello/i;

输出结果为

Hello

m修饰符:

var str = "\nthe dog ran after \nthe cat";var patt1 = /^the/m;

输出结果为:

the

  1. 括号:用于查找一定范围的字符串


例子:

var str = "Is this all there is? 123456";var ex1 = /[h]/g;    //[abc]var ex2 = /[1-4]/g;      //[0-9]var ex3 = /[this|there]/g;     //[x|y]

输出结果为:

h,h1,2,3,4this,there

四、正则表达式模式
  1. 元字符:是具有特殊含义的字符

有了元字符之后,我们就可以利用这些元字符来写一些简单的正则表达式了,

匹配有abc开头的字符串:

\babc或者^abc

匹配8位数字的QQ号码:

^\d\d\d\d\d\d\d\d$

匹配1开头11位数字的手机号码:

^1\d\d\d\d\d\d\d\d\d\d$

  1. 定义量词:


例如:

var str = "Hello, welcome to msonline! 1 12 123";var quant1 = /e+/g;var quant2 = /el*/g;var quant3 = /1?/g;

结果:

e,e,e,eell,el,e,e,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,1,,,1,,,

五、RegExp对象

在 JavaScript 中,RegExp 对象是带有预定义属性和方法的正则表达式对象。

  1. 使用test()
    test() 是一个正则表达式方法。
    它通过模式来搜索字符串,然后根据结果返回true或false。
    下面的例子搜索字符串中的字符“e”:
var patt = /e/.test("The best things in life are free!");

输出结果:

true

  1. 使用exec()
    exec() 方法是一个正则表达式方法。
    它通过指定的模式搜索字符串,并返回已找到的文本。
    如果未找到匹配,返回null。
    下面的例子搜索字符串中的字符“e”:
/e/.exec("The best things in life are free!");

输出结果:

e


了解完以上内容以后,那么你已经掌握了正则的基础语法,但是!!!
关于正则表达式的内容,远不止此。
你知道正则引擎吗?它有什么样的特征?
你了解零宽断言吗?
正向先行断言、正向后行断言;
负向先行断言、负向后行断言;
是不是听的一脸懵逼???
还有捕获和ͳ��,��Ͻ非捕获,贪婪匹配和懒惰匹配,反向引用和回溯…

其实关于正则的进阶部分,还有很多很多知识内容需要你去学习和掌握,后续我们将继续更新,敬请关注!

七、HTML+CSS+JS免费实战学习

你是否也想成为一名专业的web开发人员?福利来啦~

大前端开发工程师入门实战——HTML+CSS+JS免费学习
  • 20+HTML&CSS实战项目,免费学习+项目源码,
  • 部分效果演示
  • 10+原生Javascript实战项目,助你彻底攻克JS
  • 项目效果演示

  • HTML+CSS还原京东商城
  • 项目效果演示

免费学习地址:

前端HTML+CSS实战项目全集(免费学习&提供课程代码)
原生JS入门实战合集(免费学习&提供课程代码)
HTML5+CSS3还原京东商城


想了解更多大前端技术及实战,可扫码关注微信公众号!

  推荐站点

  • At-lib分类目录At-lib分类目录

    At-lib网站分类目录汇集全国所有高质量网站,是中国权威的中文网站分类目录,给站长提供免费网址目录提交收录和推荐最新最全的优秀网站大全是名站导航之家

    www.at-lib.cn
  • 中国链接目录中国链接目录

    中国链接目录简称链接目录,是收录优秀网站和淘宝网店的网站分类目录,为您提供优质的网址导航服务,也是网店进行收录推广,站长免费推广网站、加快百度收录、增加友情链接和网站外链的平台。

    www.cnlink.org
  • 35目录网35目录网

    35目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向35目录推荐、提交优秀网站。

    www.35mulu.com
  • 就要爱网站目录就要爱网站目录

    就要爱网站目录,按主题和类别列出网站。所有提交的网站都经过人工审查,确保质量和无垃圾邮件的结果。

    www.912219.com
  • 伍佰目录伍佰目录

    伍佰网站目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向伍佰目录推荐、提交优秀网站。

    www.wbwb.net