标签存档: 正则表达式

一个C#提取a标签的href及innerhtml的正则

c# 正则表达式正则表达式主要用于文本处理,其特点是灵活性、逻辑性和功能性非常的强,可以迅速地用极简单的方式达到字符串的复杂控制。Unix中一些工具,比如ed和grep,都支持正则表达式,而Windows下一些编辑器比如UltraEdit等,也支持正则表达式查找。虽然影响最大的仍是perl风格的正则表达式pcre,更为现代的.net语言中也对正则表达式提供了完备的支持。下面是一个用正则提取a标签中href属性及innerhtml的正则例子:

继续阅读 »

用Python的正则去除xml文件中的注释

python 正则表达式手头有一个xml配置文件,里面加了许多大块的注释,严重影响阅读。现在考虑一下,如何用Python中的正则表达式去除这个xml文件中的注释,也就是形如<!– 注释内容–>的这种注释代码块?Python的re模块中,dot(.)可用于代表任意字符,newline字符除外,而<!—和–>有可能在一行,也有可能含多行,所以需考虑这一点。re.sub及subn两个方法可用于替换掉匹配内容。让我们来试试:

继续阅读 »

URL的正则表达式

正则表达式 url由于html的在实际使用中的不规范性,导致使用dom树解析来获取html元素成功率不高。那么传统的正则表达式又能派上用场了。但是正则表达式实在是个复杂东西。特别是对于因特网上的URL来说,URL其实是个资源定位地址。现在的URL里可能会有许多奇奇怪怪的东西,甚至包含一些特殊的转码字符等。有没有一个能最广泛的匹配URL的正则表达式呢?据说一个比较完整的正则表达式是这样的:

继续阅读 »

Linux下C程序版及Perl版批量重命名命令rename的用法

linux rename 正则表达式rename命令是Linux下功能非常强的的重命名工具,利用正则表达式使得其使用地非常灵活。如网上所说,rename命令其实有C语言版和perl版之分,区分方法是man rename,如果第一行有”perl”字样,则是perl版,反之则是C程序版。试了一下,centos 6里的rename显然是C版。此版本的rename没有perl版那么多的参数选项,使用格式也与perl版有很大不同。以下是C版rename的一个例子:

继续阅读 »