雁过无痕

雁过也,了无痕

正则表达式学习参考

正则表达式学习参考1       概述正则表达式(Regular Expression)是一种匹配模式,描述的是一串文本的特征。正如自然语言中“高大”、“坚固”等词语抽象出来描述事物特征一样,正则表达式就是字符的高度抽象,用来描述字符串的特征。正则表达式(以下简称正则,Regex)通常不独立存在,...

2009-06-14 11:12:00

阅读数:54768

评论数:69

正则基础之——神奇的转义

1        概述这或许会是一个让人迷惑,甚至感到混乱的话题,但也正因为如此,才有了讨论的必要。在正则中,一些具有特殊意义的字符,或是字符序列,被称作元字符,如“?”表示被修饰的子表达式匹配0次或1次,“(?i)”表示忽略大小写的匹配模式等等。而当这些元字符被要求匹配其本身时,就要进行转义处理...

2010-01-25 08:09:00

阅读数:17295

评论数:34

正则匹配原理之——逆序环视深入

说明:部分内容有待进一步研究和修正,因为最近工作太忙,暂时抽不出时间来,未研究过的可以跳过这一篇,想研究的不要被我的思路所左右了,有研究清楚的还请指正1        问题引出前几天在CSDN论坛遇到这样一个问题:var str="8912341253789"; 需要将这个字符...

2010-01-04 07:52:00

阅读数:17817

评论数:28

正则应用之——逆序环视探索

1        问题引出前几天在CSDN论坛遇到这样一个问题。我要通过正则分别取出下面 与 之间的字符串 1、在 与 之间的字符串是没法固定的,是随机自动生成的 2、其中 与 的数量也是没法固定的,也是随机自动生成的 ** 这里是不固定的字符串1 ** ** 这里是不固定的字符串...

2009-12-07 07:58:00

阅读数:13313

评论数:12

正则基础之——贪婪与非贪婪模式

 1        概述贪婪与非贪婪模式影响的是被量词修饰的子表达式的匹配行为,贪婪模式在整个表达式匹配成功的前提下,尽可能多的匹配,而非贪婪模式在整个表达式匹配成功的前提下,尽可能少的匹配。非贪婪模式只被部分NFA引擎所支持。属于贪婪模式的量词,也叫做匹配优先量词,包括:“{m,n}”、“{m,...

2009-11-02 07:51:00

阅读数:60100

评论数:52

正则基础之——非捕获组

 非捕获组:(?:Expression)接触正则表达式不久的人,通常都会对非捕获比较迷惑,为什么要有非捕获组?作用是什么?应该在什么场景下使用?说到非捕获组,首先要了解什么是捕获组,详细内容参考 正则基础之——捕获组(capture group)。 1、为什么要有非捕获组一旦使用了“()”,就会默...

2009-08-20 08:11:00

阅读数:16151

评论数:2

正则应用之——日期正则表达式

1        概述首先需要说明的一点,无论是Winform,还是Webform,都有很成熟的日历控件,无论从易用性还是可扩展性上看,日期的选择和校验还是用日历控件来实现比较好。前几天在CSDN多个版块看到需要日期正则的帖子,所以整理了这篇文章,和大家一起讨论交流,如有遗漏或错误的地方,还请大家...

2009-07-20 07:26:00

阅读数:105174

评论数:32

正则基础之——\b 单词边界

1        概述 “\b”匹配单词边界,不匹配任何字符。 “\b”匹配的只是一个位置,这个位置的一侧是构成单词的字符,另一侧为非单词字符、字符串的开始或结束位置。“\b”是零宽度的。 基本上所有的资料里都会说“\b”是单词边界,但是关于“单词”的范围却是少有提及。通常情况下,正则表达...

2009-07-17 08:23:00

阅读数:28128

评论数:69

正则基础之——环视

环视(Lookaround)1       环视基础环视只进行子表达式的匹配,不占有字符,匹配到的内容不保存到最终的匹配结果,是零宽度的。环视匹配的最终结果就是一个位置。环视的作用相当于对所在位置加了一个附加条件,只有满足这个条件,环视子表达式才能匹配成功。环视按照方向划分有顺序和逆序两种,按照是...

2009-06-28 15:17:00

阅读数:30644

评论数:28

正则基础之——NFA引擎匹配原理

NFA引擎匹配原理1       为什么要了解引擎匹配原理一个个音符杂乱无章的组合在一起,弹奏出的或许就是噪音,同样的音符经过作曲家的手,就可以谱出非常动听的乐曲,一个演奏者同样可以照着乐谱奏出动听的乐曲,但他/她或许不知道该如何去改变音符的组合,使得乐曲更动听。作为正则的使用者也一样,不懂正则引...

2009-06-28 14:26:00

阅读数:24079

评论数:28

正则基础之——小数点

小数点可以匹配除了换行符“ ”以外的任意一个字符 一些细节对于使用传统NFA引擎的大多数语言,如Java,.NET来说,“.”的匹配范围是这样的。 但是对于JavaScript来说有些特殊,由于各浏览器的解析引擎不同,“.”的匹配范围也有所不同,对于Trident内核的浏览器,如IE来说,“.”同...

2009-06-20 12:12:00

阅读数:14460

评论数:4

正则基础之——捕获组(capture group)

1        概述 1.1     什么是捕获组 捕获组就是把正则表达式中子表达式匹配的内容,保存到内存中以数字编号或显式命名的组里,方便后面引用。当然,这种引用既可以是在正则表达式内部,也可以是在正则表达式外部。 捕获组有两种形式,一种是普通捕获组,另一种是命名捕获组,通常所说...

2009-05-03 20:27:00

阅读数:46592

评论数:14

[ ] 字符组(Character Classes)

     []能够匹配所包含的一系列字符中的任意一个。需要注意的是,[]虽然能匹配其中的任意一个字符,但匹配的结果只能是一个字符,不是多个。    例如[abc]表示字符“a”或“b”或“c”。     []支持用连字符“-”连接两个字符,来表示一个字符范围。需要注意的是,“-”前后的两个字符是有...

2009-04-29 23:53:00

阅读数:12906

评论数:10

提示
确定要删除当前文章?
取消 删除
关闭
关闭