随笔分类 - 正则表达式
摘要:测试“多行模式”测试一注意:这里样例文本中3eeeee后面没有回车,光标就在e的后面。匹配的结果是3eeeee,如上图的Search Results区中所示。为什么这里不能匹配1abcde和2abc?开启多行模式^ 可以匹配字符串开头(字符串的开始位置),也可以匹配行的开头(即换行符\n之后的位置)$ 可以匹配字符串结尾(字符串的结束位置), 也可以匹配行的结尾(即换行符\n之前的位置)关闭多行模式^ 只能匹配字符串开头$ 只能匹配字符串结尾知识点:\r为回车符,\n 为换行符。在windows中,我们平常说的换行,实质上是先回车,后换行;下面有更详细解说。如上图所示:\r 匹配 [CR]、\
阅读全文
摘要:正则表达式学习参考1概述正则表达式(Regular Expression)是一种匹配模式,描述的是一串文本的特征。正如自然语言中“高大”、“坚固”等词语抽象出来描述事物特征一样,正则表达式就是字符的高度抽象,用来描述字符串的特征。正则表达式(以下简称正则,Regex)通常不独立存在,各种编程语言和工具作为宿主语言提供对正则的支持,并根据自身语言的特点,进行一定的剪裁或扩展。正则入门很容易,有限的语法规则很容易掌握,但是目前正则的普及率并不高,主要是因为正则的流派众多,各种宿主语言提供的文档都过多的关注于自身的一些细节,而这些细节通常是初学者并不需要关注的。当然,如果想要深入的了解正则表达式,这
阅读全文
摘要:1概述平衡组是微软在.NET中提出的一个概念,主要是结合几种正则语法规则,提供对配对出现的嵌套结构的匹配。.NET是目前对正则支持最完备、功能最强大的语言平台之一,而平衡组正是其强大功能的外在表现,也是比较实用的文本处理功能,目前只有.NET支持,相信后续其它语言会提供支持。平衡组可以有狭义和广义两种定义,狭义平衡组指.NET中定义的(?Expression)语法,广义平衡组并不是固定的语法规则,而是几种语法规则的综合运用,我们平时所说的平衡组通常指的是广义平衡组。本文中如无特殊说明,平衡组这种简写指的是广义平衡组。正是由于平衡组功能的强大,所以带来了一些神秘色彩,其实平衡组并不难掌握。下面就
阅读全文
摘要:用一个正则表达式来检查输入的"钱"是否形式正确. 有四种钱的表示形式我们可以接受:"10000.00" 和 "10,000.00", 和没有 "分" 的 "10000" 和 "10,000": ^[1-9][0-9]*$ 这表示任意一个不以0开头的数字,但是,这也意味着一个字符"0"不通过,所以我们采用下面的形式: ^(0|[1-9][0-9]*)$ 一个0或者一个不以0开头的数字.我们还可以允许开头有一个负号: ^(0|-?[1-9][0-9]*)$ 这
阅读全文
摘要:1). 匹配除换行符以外的任意字符 \w 匹配字母或数字或下划线或汉字 \s 匹配任意的空白符 \d 匹配任意的数字,例如:\d{2}表示前面的数字连续出现2次,即2个数字。 \b 匹配单词的开始或结束,也就是单词的分界处,它只匹配一个字符位置。 ^ 匹配字符串的开始 $ 匹配字符串的结束2)* 表匹配次数的符号。重复零次或更多次 它代表的不是字符,也不是位置,而是数量——它指定*前边的内容可以连续重复出现任 意次以使整个表达式得到匹配。+ 重复一次或更多次 ? 重复零次或一次 {n} 重复n次 {n,} 重复n次或更多次 {n,m} 重复n到m次3)[] 匹配方括号里面的字符。例:[0-9]
阅读全文
摘要:<(?<HtmlTag>[\w]+)[^>]*\s[iI][dD]=(?<Quote>["']?)footer(?(Quote)\k<Quote>)["']?[^>]*>((?<Nested><\k<HtmlTag>[^>]*>)|</\k<HtmlTag>>(?<-Nested>)|[\s\S]*?)*</\k<HtmlTag>>将footer替换为指定的dom元素id即可。转自:http://w
阅读全文