正则表达式的应用研究
2016-05-14徐安令
徐安令
摘要:正则表达式本质上来说是一项规则,而这种规则主要用来对一类字符串的共性进行描述,正则表达式的发展,已形成了一种从字符的集合中来寻找某个指定的字符串的程序工具。它具有既简洁又结构化的优点,近年来,正则表达式已经从一个模糊的数概念,发展成了一项重要的,在各个领域都有重大作用,能解决很多实际问题的计算机功能,本文主要讲述了正则表达式的概念,意义及实际应用等问题,希望能有助于人们对正则表达有更客观的认识,并加深对它的研究。
关键词:正则表达式 概念 背景与意义 应用
中图分类号:TP393 文献标识码:A 文章编号:1007-9416(2016)05-0000-00
1正则表达式的概念
正则表达式本质上来说是某种遵循一定规则的表达式,同时也可以认为是一种程序语言,这种语言能对文字进行较为模糊的匹配。具体来说就是,正则表达式可以用某些特殊符号代表一组字符和指定对其匹配的次数,当然,前提是这种字符必须具有某种特征,此时,具有这些特殊符号的文本就不再用以表示特定文本的内容了,反而是变成了文本模式,这种文本模式就可以对所有符合此模式的一切文本串进行匹配。
2正则表达式的应用背景与意义
随着计算机网络的发展,网络已经成为了人们获取信息的重要手段,并且更好地实现了资源与信息的共享,然而网络信息仍然有很多不足,如存在很多诸如数据语义信息不清晰、模式等不明确、表现形式单一、信息利用率较为低下的问题,而这些问题都可以通过应用正则表达式来解决。正则表达式本身就是一种程序语言,能对文字进行较为模糊的匹配,通过对文字的匹配提取等,网络信息的抽取也能变得容易起来。根据定制的模板,从文本中把特定的信息抽取出来,使这些数据相对结构化,并且还要分析和整理这些信息内容,以上操作即为信息抽取的过程。这种信息抽取的作用类似于信息检索,但其比信息检索更为前沿和新颖,近几年已经成为了研究网络信息处理的热点问题,而正则表达式,在抽取信息、搜集数据等各个方面都发挥着重要的作用,基于其是对一类字符串进行共性描述的规则,它更是一种处理字符串并且寻找特定字符串必不可少的工具。
3正则表达式的分类
(1)以功能为标准进行区分:可分为基本正则表达式与扩展正则表达式。前者包含于后者之中。
(2)以实现方式为标准区分:基于确定型有穷自动机引擎和基于非确定型有穷自动机引擎,这两种实现方式有理论上的区别,因此在应用范围上也有很大的不用。
(3)以对逻辑结构的描述的精确度区分:用于校验检测的,需要完全精确地对字符串进行描述的类型,和用于数据提取的,需要描述的精确度不高的类型。
4正则表达式的应用
4.1应用于通过文本解决实际问题
正则表达式是美国数学家Stephen Kleene 提出的,可以通过提取、替换文本子字符串的方式来快速分析大量的文本并且能找到特定的某种字符模式的一种程序。其最开始的主要作用是用来对正则集代数进行描述。后来也应用于实用Ken Thompson 的计算搜索上的某些研究探讨上。当前正则表达式的应用已不单单局限于字符层面的处理了,而是能够应用于各个领域了,尤其是在解决实际问题方面,作用更加突出,比如可以用来对数据的有效性合法性进行验证等,目前最普遍的是在对用户密码、电话号码等身份验证等方面发挥作用。总之,大多数与文本关系密切的问题,如果应用正则表达式这种方法来加以解决,都会是更高效的,并且相对于其他方法来说,也会显得更加简洁。
4.2 应用于内容格式的显示
现在多数信息在信息库中都是以html 的形式存储的,并且前台内容也会因后台管理上对各板块排版格式的变化而各有不同,更重要的是即使改版页面,也不能完全修改数据库中的html 的格式。要解决这一问题,正则表达式就派上了用场。我们完全可以用正则表达式这一方法将以已读取的html代码换种形式,即替换为格式控制代码,进而控制html的显示。
4.3应用于信息的抽取
近几年来,计算机发展十分迅速,随之而来的便是信息爆炸和大量电子文档的泛滥,寻找一种能在大量的信息中抽取能满足不同人需求的信息的技术方法,也就成为了时代的要求,而正则表达式在这种需求中也就应运而生了,顾名思义,从文本中抽取信息即为信息抽取。
(1)web 新闻网页中的信息用正则表达式来提取。信息网页具有很多其他媒体不具备的特点,包括时效性强,信息量大、结构较为稳定等各个特点,因此它的应用率更高,尤其是新闻网页,只要是符合条件的新闻纪录,都会在它的检索条件内,其作用相当于是充当了“索引”的角色,对于这一庞大的信息网,也就更适合采用正则表达式的方式来进行信息提取,若是采用其他手段,则不会如此快速高效的实现信息的提取利用。
(2)文本文档中的信息用正则表达式来抽取。对于一些以文本格式存储的电子文档,如果能实现这些非结构化的文本格式向半结构化的格式的转变,那么势必会有利于人们实现资源的充分利用,并且能最大程度上提高资源的利用效率。为了实现这一目的,正则表达式的利用是必不可少的。
5结语
正则表达式是一种由普通字符和元字符构成的特殊的字符串,应用此技术可以在数据提取、验证其格式的有效性等各方面展开工作,提高其效率及时效性,因此具有很大的实际应用价值,以上提出的关于正则表达式的几项应用,希望能对从事这些工作的人有所帮助。
参考文献
[1]余晟(译),(美) Jeffrey E.F.Friedl 著.精通正则表达式.第3版.北京:电子工业出版社,2007.
[2]李铭(译),(美) Christian Nagel, Bill Evjen, Jay Glynn 著,C#2005&.NET3.0 高级编程.第5版.北京:清华大学出版社,2007.
[3]王珊,陈红.数据库系统原理教程.北京:清华大学出版社,2000.
[4]宋鑫坤,陈万米,朱明,等.基于正则表达式的语音识别控制策略研究[J].计算机技术与发展,2010,20(2):106-109.