现在的位置: 首页 > web前端 > 正文

正则表达式什么意思

2020年07月17日 web前端 ⁄ 共 855字 ⁄ 字号 评论关闭

  正则表达式,又称规则表达式。(英语:RegularExpression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、regexen。


  正则表达式目的


  给定一个正则表达式和另一个字符串,我们可以达到如下的目的:


  1.给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”):


  2.可以通过正则表达式,从字符串中获取我们想要的特定部分。


  正则表达式特点


  正则表达式的特点是:


  1.灵活性、逻辑性和功能性非常强;


  2.可以迅速地用极简单的方式达到字符串的复杂控制。


  3.对于刚接触的人来说,比较晦涩难懂。


  由于正则表达式主要应用对象是文本,因此它在各种文本编辑器场合都有应用,小到著名编辑器EditPlus,大到MicrosoftWord、VisualStudio等大型编辑器,都可以使用正则表达式来处理文本内容。


  正则引擎主要可以分为两大类:一种是DFA,一种是NFA。这两种引擎都有了很久的历史(至今二十多年),当中也由这两种引擎产生了很多变体!于是POSIX的出台规避了不必要变体的继续产生。这样一来,主流的正则引擎又分为3类:一、DFA,二、传统型NFA,三、POSIXNFA。


  DFA引擎在线性时状态下执行,因为它们不要求回溯(并因此它们永远不测试相同的字符两次)。DFA引擎还可以确保匹配最长的可能的字符串。但是,因为DFA引擎只包含有限的状态,所以它不能匹配具有反向引用的模式;并且因为它不构造显示扩展,所以它不可以捕获子表达式。


  总之,正则表达式给大家简单的介绍了一些,希望大家多看看。

【上篇】
【下篇】

抱歉!评论已关闭.