• 技术文章 >Web开发 >JavaScript

    js正则原理

    小妮浅浅小妮浅浅2021-01-25 19:16:04原创2137

    本文教程操作环境:windows7系统、jquery3.2.1版本,DELL G3电脑。

    在我们对字符串进行处理的时候,频繁的会用到一种规则,即正则的理念。有些人并不能清楚的表述出正则的原理,但是对于用法方面多多少少的有一些了解。学习一个新知识点,当然要先从它的原理开始。我们在简单讲述正则概念后,就讲一讲正则中回溯法的原理吧。

    1.正则概念

    用来「处理字符串」的一种规则。他是一个「规则」:可以验证字符串是否符合某个规则(test),也可以把字符串中符合规则的内容捕获到(exec/match...)

    2.正则回溯法原理

    回溯法也称试探法,它的基本思想是:从问题的某一种状态(初始状态)出发,搜索从这种状态出发所能达到的所有“状态”,当一条路走到“尽头”的时候(不能再前进),再后退一步或若干步,从另一种可能“状态”出发,继续搜索,直到所有的“路径”(状态)都试探过。这种不断“前进”、不断“回溯”寻找解的方法,就称作“回溯法”。(copy于百度百科)。

    本质上就是深度优先搜索算法。其中退到之前的某一步这一过程,我们称为“回溯”。从上面的描述过程中,可以看出,路走不通时,就会发生“回溯”。即,尝试匹配失败时,接下来的一步通常就是回溯。

    1)没有回溯的匹配

    当目标字符串是"abbbc"时,就没有所谓的“回溯”。其匹配过程是:

    2)有回溯的匹配

    如果目标字符串是"abbc",中间就有回溯。

    以上就是js正则中回溯法的原理,分为没有回溯的匹配和有回溯的匹配,如果看了不会很明白,可以结合上方的图片进行理解。

    专题推荐:js正则原理
    上一篇:js压缩图片到指定大小 下一篇:js正则匹配整数

    相关文章推荐

    • js压缩图片到指定大小

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网