2012年6月14日
摘要: 1 为什么要了解引擎匹配原理一个个音符杂乱无章的组合在一起,弹奏出的或许就是噪音,同样的音符经过作曲家的手,就可以谱出非常动听的乐曲,一个演奏者同样可以照着乐谱奏出动听的乐曲,但他/她或许不知道该如何去改变音符的组合,使得乐曲更动听。作为正则的使用者也一样,不懂正则引擎原理的情况下,同样可以写出满足需求的正则,但是不知道原理,却很难写出高效且没有隐患的正则。所以对于经常使用正则,或是有兴趣深入学习正则的人,还是有必要了解一下正则引擎的匹配原理的。2 正则表达式引擎正则引擎大体上可分为不同的两类:DFA和NFA,而NFA又基本上可以分为传统型NFA和POSIX NFA。DFADeterminis 阅读全文
posted @ 2012-06-14 16:07 Eleanore Lee 阅读(463) 评论(0) 推荐(0) 编辑
摘要: 正则表达式学习参考1 概述正则表达式(Regular Expression)是一种匹配模式,描述的是一串文本的特征。正如自然语言中“高大”、“坚固”等词语抽象出来描述事物特征一样,正则表达式就是字符的高度抽象,用来描述字符串的特征。正则表达式(以下简称正则,Regex)通常不独立存在,各种编程语言和工具作为宿主语言提供对正则的支持,并根据自身语言的特点,进行一定的剪裁或扩展。正则入门很容易,有限的语法规则很容易掌握,但是目前正则的普及率并不高,主要是因为正则的流派众多,各种宿主语言提供的文档都过多的关注于自身的一些细节,而这些细节通常是初学者并不需要关注的。当然,如果想要深入的了解正则表达式, 阅读全文
posted @ 2012-06-14 11:27 Eleanore Lee 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 正则表达式中/i,/g,/ig,/gi,/m的区别和含义/i (忽略大小写)/g (全文查找出现的所有匹配字符)/m (多行查找)/gi(全文查找、忽略大小写)/ig(全文查找、忽略大小写)这些是模式修正符 -- 解说正则表达式模式中使用的修正符i如果设定此修正符,模式中的字符将同时匹配大小写字母。m当设定了此修正符,“行起始”和“行结束”除了匹配整个字符串开头和结束外,还分别匹配其中的换行符的之后和之前。s如果设定了此修正符,模式中的圆点元字符(.)匹配所有的字符,包括换行符。没有此设定的话,则不包括换行符。x如果设定了此修正符,模式中的空白字符除了被转义的或在字符类中的以外完全被忽略,在未 阅读全文
posted @ 2012-06-14 10:50 Eleanore Lee 阅读(438) 评论(0) 推荐(0) 编辑