??正则表达式
正则表达式(Regular Expression,缩写为regexp,regex或regxp),又称正规表达式或常规表达式,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多文本编辑器或其他工具里,正规表达式通常被用来检索和/或替换那些符合某个模式的文本内容。许多程序设计语言都支持利用正规表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的在正规表达式发动机。正规表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。
[
编辑]
基本概念正规表达式也经常被称为模式,用来描述或者匹配一系列符合某个句法规则的字符串。例如,Handel,H?ndel,和Haendel三个字符串,都可以由"H(a|?|ae)ndel"这个模式来描述。大部分形式都有如下的结构:
上述这些构造子都可以自由组合,因此,"H(ae?|?)ndel"和"H(a|ae|?)ndel"是相同的。 精确的语法可能因不同的工具或程序而异。
[
编辑]
历史最初的正规表达式出现于理论计算机科学的自动控制理论和形式语言理论中。在这些领域中有对计算(自动控制)的模型和对形式语言描述与分类的研究。1940年代,Warren McCulloch与Walter Pitts将神经系统中的神经元描述成小而简单的自动控制元。稍后,数学家Stephen Kleene利用称之为正则集合的数学符号来描述此模型。Ken Thompson将此符号系统引入编辑器QED,然后是Unix上的编辑器ed,并最终引入grep。自此,正规表达式被广泛地使用于各种Unix或者类似Unix的工具,例如Perl。 Perl正规表达式源自于Henry Spencer写的regex,它已经演化成了pcre(http://www.pcre.org)(Perl兼容正则表达式Perl Compatible Regular Expressions),一个由Philip Hazel开发的,为很多现代工具所使用的库。 各计算机语言之间的正规表达式的整合目前开展的很差。未来的Perl6(http://dev.perl.org/perl6)的子项目Apocalypse的设计中已考虑到了这点。
[
编辑]
表达式全集下表是元字符及其在正规表达式上下文中的行为的一个完整列表:
[
编辑]
参考条目
[
编辑]
外部链接
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ios – 直接下载Xcode模拟器
- 与使用带有getter和setter的Private字段相比,VB.NET中的Pro
- `int const a [5]`究竟是什么意思?
- Flex :给LineChart设置坐标轴最大最小范围
- 学习UML实现、泛化、依赖、关联、聚合、组合
- Cocos2d-JS屏幕适配
- c# – XAML定义的StoryBoard在C中调用时抛出nullpointer
- 锚定的正则表达式和未锚定的正则表达式之间有什么区别?
- c# – 为什么IPEndPoint将Int64和Int32作为参数?
- ruby-on-rails – 使用acts_as_taggable_on和ActiveAdmin操